如何把一个小数格式化 成为 精确到后面两位的
例如。3.1415926 格式为 3.14  ,但是!!!注意的是 如果小数为3.000000
那么就不格式化为后面两位了,而是这个样子:3 !!
望高手解答。

解决方案 »

  1.   

    您可以使用 String.Format 方法來格式化數值結果,或經由 Console.Write 方法,它會呼叫 String.Format。格式是使用格式字串 (Format String) 來指定。下表包含支援的標準格式字串。格式字串是採用格式 Axx,其中 A 為格式規範而 xx 是精確度規範。格式規範控制套用在數值上的格式類型,而精確度規範控制格式化輸出的顯著性數字或小數位數的數目。 如需標準和自訂格式化字串的詳細資訊,請參閱格式化概觀。如需 String.Format 方法的詳細資訊,請參閱 String.Format 方法。字元 說明 範例 輸出 
    C 或 c 貨幣 Console.Write("{0:C}", 2.5); 
    Console.Write("{0:C}", -2.5);
     $2.50 
    ($2.50)
     
    D 或 d 十進位 Console.Write("{0:D5}", 25); 00025 
    E 或 e 科學記號 Console.Write("{0:E}", 250000); 2.500000E+005 
    F 或 f 固定點 Console.Write("{0:F2}", 25); 
    Console.Write("{0:F0}", 25);
     25.00 
    25
     
    G 或 g 通用 Console.Write("{0:G}", 2.5); 2.5 
    N 或 n 數值 Console.Write("{0:N}", 2500000); 2,500,000.00 
    X 或 x 十六進位 Console.Write("{0:X}", 250); 
    Console.Write("{0:X}", 0xffff);
     FA 
    FFFF
     
      

  2.   

    按上面得到转换后的格式值#.##,再Convert.ToInt32成#,如果二者相等,就用#,不相等就用#.##
      

  3.   

    float xx=3.1415926;
    string ss;
    ss=xx.ToString("0.##");
    if(ss.EndsWith("."))ss=ss.Substring(0,ss.Length-1);
      

  4.   

    : lxg13(翔子) (  right