作者jimpop (popmij)
看板Visual_Basic
標題[VB6 ] 要怎麼準確計算小數點?
時間Wed May 6 00:13:54 2009
我使用的是 VB 2005 不知道分類有沒有錯!?
最近在寫一個特別的計算機~
寫著寫著卻發現....
似乎小數點的計算有些問題~~
如:
12.55-12.54 應該是 0.01 !!
但是得到的答案是
0.0100000000000016
!!!!!!!!!!!!!!!
怎麼會這樣~~~
爬過文後~發現~似乎一直存在這問題~~
有試過用網路上有篇的做法~
http://tinyurl.com/cdddaz
但是....不知道是它的版本關係還是我弄錯~~
我還是會有嚴重的誤差值
想請問各位大大~~有沒有解決方法呢!!??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.229.92.80
1F:推 Peruheru:我的做法是 05/06 11:00
2F:→ Peruheru:假如我要娶到小數點後五位,我就乘上一萬,再無條件捨去 05/06 11:01
3F:→ Peruheru:之後再除以一萬這樣XDD 05/06 11:01
4F:→ Peruheru:小數點的精準度本來就會有所誤差,還蠻難解決的 05/06 11:01
5F:→ Peruheru:之前做到因為有小數點後很多位加上很大的數 05/06 11:02
6F:→ Peruheru:搞到運算結果變成overflow還是underflow我都搞不清楚了 05/06 11:02
7F:→ adrianshum:樓上的做法是沒法解決問題的.誤差不會因為這樣做而消失 05/06 21:09
8F:推 Peruheru:我知道啊...這只是一個治標不治本的方法 05/06 22:33
9F:→ MOONRAKER:format位數弄少一點就好了 正常人誰會需要算到小數點下 05/07 01:59
10F:→ MOONRAKER:十幾位 所有的浮點運算都需要適當的format 05/07 01:59
11F:→ jimpop:p大~我了解了~~這個方法也不錯~~謝謝!! 05/07 17:07