双精度数隐式转成整数的怪异现象
string a1 = "7.70";
string a2 = "8.70";
double b1 = 0;
double b2 = 0;
double.TryParse(a1, out b1);
double.TryParse(a2, out b2);
int c1 = (int)(b1 * 100);
int c2 = (int)(b2 * 100);
Response.Write("result: " + c1 +"_" + c2);
输出结果:result: 770_869
哪位大哥大姐可以帮忙解释一下呢 隐式转换 string c
[解决办法]
这是浮点数在内存中的特殊存储导致的,8.70可能在内存中是8.69999999999999999999999,这样就会变成8.69了
[解决办法]