日期:2014-05-18  浏览次数:21077 次

数字字符串保留2位小数问题
我用string.Format("{0:N}","0") 不行,
用string.Format("{0:N2}","0") 不行,
用string.Format("{0:F2}","0") 也不行

求教如何在不用自已定义方法的情况下快速转换。

------解决方案--------------------
用string.Format("{0:F2}","0") 也不行 
看来楼主要转换的不是数字,而是字符串。这样可以考虑正则表达式。
------解决方案--------------------
Convert.ToDouble("str").ToString("F2");
------解决方案--------------------
你那样写能行才怪了

string needFormat="";
Console.WriteLine(string.Format("{0:F2}",string.IsNullOrEmpty(needFormat)==true?0:double.Parse(needFormat)));

------解决方案--------------------
参考
不过楼主在使用之前最好先进行一个非空判定
C# code

string regex = "^((?:0|[1-9]\\d+)\\.\\d{0,2})\\d*$";
        string result = System.Text.RegularExpressions.Regex.Replace("12.363434", regex, "$1");
        Response.Write(result);