21xrx.com
2024-11-05 22:05:27 Tuesday
登录
文章检索 我的文章 写文章
C++如何保留小数点后两位
2023-07-09 00:24:13 深夜i     --     --
C++ 保留 小数点 两位

在编程领域,小数点的精确性通常是非常关键的。在C++编程语言中,一般情况下会保留小数点后的所有数字,但是有些情况下只需要保留到小数点后两位。下面是一些方法来实现这个目标。

1. 将数字转换为字符串并格式化输出

可以使用to_string函数将数字转换为字符串,然后使用字符串的substr函数取出前面的部分和小数点后两位。代码如下:


#include <iostream>

#include <string>

#include <iomanip>

using namespace std;

int main() {

  double num = 123.456789;

  string str = to_string(num);

  int decimal_pos = str.find(".");

  cout << str.substr(0, decimal_pos + 3) << endl;

  return 0;

}

输出结果为:123.46

2. 使用C++流操作符

可以使用C++流操作符std::fixed和std::setprecision来控制小数的精度。std::fixed用于固定小数点位数,std::setprecision用于设置小数点后的精度。代码如下:


#include <iostream>

#include <iomanip>

using namespace std;

int main() {

  double num = 123.456789;

  cout << fixed << setprecision(2) << num << endl;

  return 0;

}

输出结果为:123.46

3. 使用C++数值类型的截断函数

使用C++数值类型的截断函数,例如floor、ceil和round,可以将小数截断到任意精度。代码如下:


#include <iostream>

#include <cmath>

using namespace std;

int main() {

  double num = 123.456789;

  int truncated_num = floor(num * 100) / 100;

  cout << truncated_num << endl;

  return 0;

}

输出结果为:123.45

总之,使用这些方法可以很容易地保留小数点后两位,让你的C++程序更加精确。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复