日期:2014-05-17  浏览次数:21956 次

C#如何控制float小数点位数?
C#怎么控制float小数点位数,比如,float a=1.23545,我只想显示a=1.23;我看到别的帖子的方法, float a = 1.23456789f; float b = "%.4f"% (a);  但是运行报错“字符文本中的字符太多”,求解决办法?

------解决方案--------------------
string.format
------解决方案--------------------
float a = 1.23545f;
a = (float)Math.Floor(a * 100) / 100;
Console.Write(a);
------解决方案--------------------
显示归显示,逻辑归逻辑

如果想显示,自然就要显示成string。那就string b=a.ToString("0.00")
------解决方案--------------------
搞错了应该这样
       float a = 1.23545f;
        int b = (int)(a * 100);
        a = (float)b / 100;

------解决方案--------------------
float没有小数位数的说法,它的有效数字是固定的,你只可以在输出的时候控制小数位数,

比如:

float a=1.2345f;

String strTest=a.ToString("F2");
F2表示两位小数,三位小数是F3,

而%f之类的格式是c的printf函数格式,java也类似这种格式但c#绝对不支持,