【问题标题】:c++ caring about only 2 digit decimal w/o setprecision [duplicate]c ++只关心没有setprecision的2位小数[重复]
【发布时间】:2019-11-14 03:37:55
【问题描述】:

双 i = 2.5373737373737....

有没有办法去掉 2 位小数后的小数,所以它可以是 2.57? (不使用 setprecision 显示)

【问题讨论】:

  • 首先不要使用int
  • 有一个 round() 函数。如果你想截断看这个问题:stackoverflow.com/questions/6709405/…
  • 请注意,将 2.5373737 舍入 不会 舍入为 2.57 -- 它将舍入为 2.54

标签: c++ floating-point decimal precision


【解决方案1】:

iomanip 中的 setprecision(int) 函数可以帮助打印所需的精度。

#include <iostream>
#include <iomanip>
using namespace std;
int main () {
double i =2.537373737;
std::cout << setprecision(3) << i << '\n';
}

【讨论】:

  • 问题要求不要使用setprecision()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多