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

格式化浮点数问题,大家来帮我看看.
float Total = 30959492.0f;

怎么才能转成字符串看到为30959492.0

我试了好几种方法都不行
string.Format("{0:0.0}",Total)

Total.ToString("F1")

输出都变成了"30959490.0"

怎么才能得到我想要的结果???

------解决方案--------------------
沒辦法,你既然使用浮點數,對精確率就不要要求過高。
如果精確率是必要的,那你就使用Decimal
------解决方案--------------------
QUOTE:大哥,能简单讲讲为什么会显示成"30959490.0" 吗?我只知道是浮点数精度问题
-----------------------------------------
这是由计算机存储浮点数机制导致的,具体竹子也说不清楚.
------解决方案--------------------
Convert.ToDouble(Total)
------解决方案--------------------
float的精度只有7位
------解决方案--------------------
帮顶