作者colawei (D逃)
看板Visual_Basic
標題Re: [VB6 ] 1 - 99.9 / 100≠0.001
時間Wed Jun 7 00:25:04 2006
想要解這個問題沒那麼複雜,
其實只是變數型態轉換時產生的誤差而已.
加個小動作就可以解決了
Print 1 - CCur(99.9) / 100
用你的電腦跑跑看, 0.001 回來了!!
*以上的動作是轉換成 Currency 的資料型態,
資料長度同 Double 有 8 Bytes,
有效範圍從 -922,337,203,685,477.5808 到 922,337,203,685,477.5807
較常用於儲存貨幣等資料.
而 Double 則較常用於數學公式計算.
如果不夠用, 可以試試 CDec 轉成 Decimal 有 14 Bytes, 小數位可以到 28 位,
一樣不會造成計算問題, 需注意 Decimal 必須儲存於 Variant 宣告中.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.80.140.77
推 fumizuki:補充: Currency 的有效位數僅有4位 06/07 06:54
→ Guestion:有點複雜的感覺@@再多查書看看 謝謝解惑:) 06/10 20:36