c语言 保留两位小数

时间:2025-02-15 12:16:14

 用C其实也挺简单的,有个投机取巧的办法
我的想法是,既然希望保留两位小数,那么就必须看第三位小数,如果大于5,就进位,那么我们可以让第三位加上5,因为最后第三位是舍掉的,因此无论怎么改变第三位也没有问题。这样就想起了强制类型转换,呵呵,自己乘上100,然后加上0.5,再强制类型转换成int,将第三位舍掉,自己除100,恢复原来的数字。

 

 

 #include<iostream>
using namespace std;
int main()
{
  float length=1.9865;
  length*=100;
  length+=0.5;
  length=(int)length;                  //length = ((int)(length*200)+1) / 200;
  length/=100;
  cout<<length<<endl;
  return 0;
}