如何舍入浮点数? 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