我怎样才能显示float number = 0.999为0.99?
下面的代码一直打印出来1.00?我以为使用setprecision(2)指定小数点后的位数?
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char** argv)
{
const float numberToDisplay = 0.999;
cout << setprecision(2) << fixed << numberToDisplay << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Mal*_*ala 13
setprecision(2)将舍入到最接近的两位浮点数,在本例中为1.0.如果你想截断(即得到0.99),你总是可以将数字乘以100(即10 ^ [数字]),转换为int,然后将其分成浮点数.有点乱,但它完成了工作.
const float numberToDisplay = 0.999;
const float numberTruncated = (int)(numberToDisplay * 100) / 100.0;
// float numberTruncated is 0.99
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1226 次 |
| 最近记录: |