改变数字精度

cpx*_*cpx 3 c++

例如,如何更改数字的精度:float n = 1.2345并将其存储回变量'n'并将其更改为1.23

Dav*_*eas 7

float n = 1.2345;
int scaled = n * 100
n = static_cast<float>(scaled)/100.0;
Run Code Online (Sandbox Code Playgroud)

或者在一行中:

n = static_cast<float>( static_cast<int>(n*100) ) / 100;
Run Code Online (Sandbox Code Playgroud)


Pau*_*l R 6

#include <cmath>

n = roundf(n * 100.0f) / 100.0f;
Run Code Online (Sandbox Code Playgroud)

或者如果你需要截断而不是圆形:

n = truncf(n * 100.0f) / 100.0f;
Run Code Online (Sandbox Code Playgroud)