會寫這篇的原因是因為剛剛在debug,發現流程(正確) 、Input(正確)、不管哪邊的值都是對的,但是最後出來的時候,就莫名其妙少了1,然後花了一點時間在整個跑一次,才發現,原來是四捨五入的關係 =_______=|| ,於是乎,就有了這篇文章的誕生了 。
動手花點時間寫寫看,寫不出來再看看解答
-----------------------------------------------------------
#include <iostream>
#include <math.h>
using namespace std;
#define PointDigit (0)
double Rounding (double num,int index )
{
bool b_IsNegative = false ;
if (num < 0 )
{
b_IsNegative = true;
num = -num ;
}
if (index >= 0)
{
int temp = pow((double)10,index);
num = (int) (num * temp + 0.5 ) / (temp);
}
if (b_IsNegative)
{
num = -num ;
}
return (num);
}
int main()
{
double fNumber ;
int nPointDigit;
while (1)
{
cin >> fNumber;
cout <<endl ;
cout << fNumber << " = " << Rounding(fNumber,PointDigit)<< endl;
}
}