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