加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读