2009年11月17日 星期二

C# 的 Decimal 小數點很麻煩...

最近在算成績時發現,float 真的是不能拿來算成績,不只是不適合算錢,連滿分只有100分的成績也不能算,會算出一堆誤差,花了一堆時間查了半天終於發現有個叫「decimal」型態,有效位數非常大,專用在財務方面的資料型態,decimal 捨入計算誤差非常非常少,後來就全面使用 decimal 來算成績,可是又發現計算結果總是有「.00」出現,就算計算結果是整數,還是有那個00...要拿掉非常麻煩...,又搞了半天,終於發現終極解法,就是運算、儲存時全部用 decimal ,但是要輸出到報表就全部轉型成 float、double,雖然還是有點麻煩,不過算是較簡單的解法了。float、double 不適合運算,但是運算結果輸出去到是很適合,因為成績的圍範就滿分100,最多小數到2位,跟本不會超出 float 的圍範...吧....

我的目得只是要計算結果不能有誤差,但是結果的尾數是0的要去掉...就這樣..

32 則留言:

  1. 只有尋常才幹,但具有不尋常恆心的人,一切皆可獲取..............................

    回覆刪除
  2. 勤勉是幸運的右手,節儉是幸運的左手。 ..................................................

    回覆刪除
  3. 看看blog調整心情,又要來繼續工作,大家加油........................................

    回覆刪除
  4. 原來這世上能跟你共同領略一個笑話的人竟如此難得........................................

    回覆刪除
  5. 來問個安,誰不支持這個部落格,我咬他.........................

    回覆刪除
  6. 來問個安,誰不支持這個部落格,我咬他.........................

    回覆刪除
  7. 原來這世上能跟你共同領略一個笑話的人竟如此難得..................................................

    回覆刪除
  8. 生存乃是不斷地在內心與靈魂交戰;寫作是坐著審判自己。......................................................................

    回覆刪除
  9. 偶爾上來逛逛,下次不知是否還有緣再進來,先祝您平安順利!!!............................................................

    回覆刪除
  10. 沒有經過反省的人生,是不值得活的人生..................................................

    回覆刪除
  11. 這不過是滑一跤,並不是死掉而爬不起來了。..................................................

    回覆刪除
  12. Govern your thoughts when alone, and your tongue when in company...................................................

    回覆刪除