首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么提高转换精度start.X = float.Parse(code.Value)

2012-04-23 
如何提高转换精度start.X float.Parse(code.Value)code.Value3493784.654397start.x3493784.75精度

如何提高转换精度start.X = float.Parse(code.Value);
code.Value=3493784.654397;
start.x=3493784.75;
精度太差了,有人知道有更好的转换,还想换成float, 是否可能精确到3493784.654,否侧的话,只能转换成 double 了,那我的改动就太多了。谢谢!

[解决办法]
float只有4个字节,有效数字只有6~7位,所以能精确到个位就已经不错了,已经是7个有效数字了,小数点后第一位是第八个有效数字,float无法表示,所以第八个有效数字位肯定是不精确的,

你需要的3493784.654有10个有效数字,float无法达到这个精度,只能用double,double有15~16个有效数字,

这不是Parse导致的问题,而是float字节数太少无法表示10个有效数字,你只能改为double,

热点排行