作者fumizuki (蒙面加菲狮)
看板Visual_Basic
标题Re: [VB6 ] 1 - 99.9 / 100≠0.001
时间Tue Jun 6 20:19:36 2006
※ 引述《Guestion (Question)》之铭言:
: 我在即时运算视窗里输入:
: Print 1 - 99.9 / 100
: 结果出来後不是 0.001,而是 9.99999999999943E-04
: 请问为什麽会这样呢?
所有电脑共同的问题:精确度问题
电脑储存数字一律使用 Single / Double 型态储存
只有在2的倍数的情况下,能达到不失真的情形@@
9.99999999999943E-04
=9.99999999999943 * (10 ^ -4)
=0.000999999999999943
=0.001
解决方式
Double 型态:Round(1 - 99.9 / 100,
15)
'有效位数16 - 1 = 15
Single 型态:Round(1 - 99.9! / 100,
7)
'有效位数8 - 1 = 7
--
▃▅▇▆▄ ▆▂▃ `
逝去感情如何能留住,半点痴情遗留殊不易,██▅▇▄▃ ▇▃▂" .
█████████▃i ▁▄▇
更多凄凄惨惨的遭遇…………██▆▃ █▅▆▃ˍ▄*
◢ ▂█▄▇▅▂▌.
我不知道,王~八~蛋~~! ▂▆███ █▄▃ 。fumizuki。Check。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.184.116.195
1F:推 Guestion:谢谢解惑!:) 06/10 20:35