今天发现了一个有意思的问题,用float.Parse("-0.03"); 得到的float型数据是-0.03,但是乘上100赋值给一个整数就成了-2.
float fval = float.Parse("-0.03");
int ival = (int)(fval*100);
如果使用double就没问题。在64位的win7系统上也没问题。
本文探讨了使用C#进行浮点数运算时遇到的一个奇怪现象:将字符串“-0.03”转换为float类型后,乘以100再转换为整数时结果为-2,而使用double类型则正常。此问题仅出现在特定的操作系统和编译环境下。
今天发现了一个有意思的问题,用float.Parse("-0.03"); 得到的float型数据是-0.03,但是乘上100赋值给一个整数就成了-2.
float fval = float.Parse("-0.03");
int ival = (int)(fval*100);
如果使用double就没问题。在64位的win7系统上也没问题。

被折叠的 条评论
为什么被折叠?