close

 

 

會寫這篇的原因是因為剛剛在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; 
    }
}

 

arrow
arrow
    文章標籤
    C++ C rounding
    全站熱搜

    Eric 發表在 痞客邦 留言(0) 人氣()