21xrx.com
2024-12-22 20:35:32 Sunday
登录
文章检索 我的文章 写文章
C++中如何保留2位小数?
2023-07-12 21:43:34 深夜i     --     --
保留小数 C++ 精度

在C++中,保留2位小数可以通过不同的方法实现。本文将介绍几种最常用的方法以供参考。

一、使用iomanip库

iomanip库可以让程序员设置cout和cin对象的格式,从而在输出或读取时可以设置小数点位数。使用方式如下:


#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

  double x = 1.23456789;

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

  return 0;

}

注意,在使用setprecision函数时需要使用fixed或scientific函数才能生效。在上面的程序中,使用了fixed函数来指定小数点后的位数为2,输出结果为1.23。同样地,可以使用scientific函数来指数表示法。

二、使用sprintf函数

sprintf函数的作用是将指定格式的字符串输出到指定的字符数组中。可以使用此函数将浮点数转化为指定位数的字符串,再将字符串转化为浮点数。使用方式如下:


#include <iostream>

#include <cstdio>

using namespace std;

int main()

{

  double x = 1.23456789;

  char str[10];

  snprintf(str, 10, "%.2f", x);

  x = atof(str);

  cout << x << endl;

  return 0;

}

在上面的程序中,使用了snprintf函数将x转化为格式化的字符串,并设置小数点后的位数为2,输出结果为1.23。

三、使用math库

math库中提供了round函数,可以将浮点数四舍五入到指定小数位数,再输出。使用方式如下:


#include <iostream>

#include <cmath>

using namespace std;

int main()

{

  double x = 1.23456789;

  x = round(x * 100) / 100.0;

  cout << x << endl;

  return 0;

}

在上面的程序中,将x乘以100后四舍五入再除以100,输出结果为1.23。

以上三种方法都是常用方法,可以根据具体情况选择使用。如果需要对多个浮点数保留2位小数,可以将以上方法封装成函数以方便使用。

  
  

评论区

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