技術(shù) 點(diǎn)
- 技術(shù)
- 點(diǎn)
- V幣
- 點(diǎn)
- 積分
- 108
|
3#
樓主 |
發(fā)表于 2011-7-26 23:22:09
|
只看該作者
雖然這道題將數(shù)據(jù)類(lèi)型改成Single(單精度)后,運(yùn)行結(jié)果正確。
但是換了其它小數(shù),還是會(huì)有問(wèn)題。
例如:
Dim sngA As Single, sngB As Single
sngA = 0.0068
sngB = 0.0062
MsgBox sngA - sngB
今天在網(wǎng)上找到了徹底的解決方法:
Dim sngA As Single, sngB As Single
sngA = 0.0068
sngB = 0.0062
MsgBox CDec(sngA) - sngB
將類(lèi)型轉(zhuǎn)換成Decimal后再計(jì)算就可以了。
Decimal數(shù)據(jù)類(lèi)型詳細(xì)情況請(qǐng)看MSDN
Decimal只能用CDec()強(qiáng)行指定為Decimal類(lèi)型。
Decimal速度沒(méi)有整型快(那是當(dāng)然的);如果對(duì)于精度沒(méi)有過(guò)度要求,還是Single/Double吧。
謝謝版主的熱心幫助了。 |
|