我将数字存储在float
中,我希望它最多可以打印5个小数位。唯一的问题是我之后不想打印0,也不想实际修改数字。
例如:
我知道setprecision
确实设置了有效位数,但是当我将其设置为fixed
时,它也打印出0。有办法解决这个问题吗?
例如,如果数字是1.33333(正好有5位小数),setprecision(5)
,则打印出1.3333,这是我不想要的。
任何提示都将不胜感激!
修改
#include <iostream>
#include <stdlib.h>
#include <iomanip>
int main()
{
float a = 1;
float b = 0.5;
float c = 0.3333333333333;
float d = 1.33333;
std::cout << std::setprecision(5);
std::cout << a << "\n";
std::cout << b << "\n";
std::cout << c << "\n";
std::cout << d << "\n"; // returns 1.3333
return 0;
}