c – 将0.999显示为0.99
发布时间:2020-12-16 10:42:49 所属栏目:百科 来源:网络整理
导读:如何将浮点数= 0.999显示为0.99? 下面的代码保持打印出1.00?我以为使用setprecision(2)指定小数点后的位数? #include iostream#include iomanipusing namespace std;int main(int argc,char** argv) { const float numberToDisplay = 0.999; cout setprec
如何将浮点数= 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; } 解决方法
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |