假设有两个浮点数: a,b 。我需要将 a 的值分配给 b 。然后 b 将被函数转换为文本字符串,我无法更改。转换是通过取浮点数的前3个十进制数而不是舍入来完成的,其他点将被忽略。这导致精度下降。
问题:我怎样才能改变 a 的值,那么转换后 b 就好像它是否被舍入?
希望我设法解释问题,但如果没有,请告诉我。
答案 0 :(得分:2)
我认为这些功能使用" truncate":1.2346 => 1.234,对吧?
您可以添加0.0005
b = a + 0.0005
示例:
回合降低
a = 1.2341;
b = a + 0.0005; // 1.2346
string result = yourfunction(b); // 1.234
从上到下
a = 1.2346;
b = a + 0.0005; // 1.2351
string result = yourfunction(b); // 1.235