如何舍入浮点数? C++/CLI-VS2015
How to round float number? C++/CLI - VS2015
假设有两个浮点数:a,b。我需要将 a 的值分配给 b。然后 b 将被函数转换为文本字符串,我无法更改。转换是通过取浮点数 的前 3 位小数来完成的,没有 舍入,其他点将被忽略。这会导致准确性下降。
问题:如何更改 a 的值,以便在转换后 b 会像四舍五入一样?
希望我能够解释问题,但如果没有,请告诉我。
我认为这些函数使用 "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
假设有两个浮点数:a,b。我需要将 a 的值分配给 b。然后 b 将被函数转换为文本字符串,我无法更改。转换是通过取浮点数 的前 3 位小数来完成的,没有 舍入,其他点将被忽略。这会导致准确性下降。
问题:如何更改 a 的值,以便在转换后 b 会像四舍五入一样?
希望我能够解释问题,但如果没有,请告诉我。
我认为这些函数使用 "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