用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;}