請大家Run看看下面的程式,
Single真的是很奇怪,好像都會有那0.000...1 的誤差 ??
有誰知道為什麼嗎??
Dim a As Double
  Dim b As Single
  Dim c As Variant
  Dim d As Single
  
  a = 2.9
  b = 2.9
  c = 2.9
  d = 3.1
  
  Debug.Print a - b    '等於 -9.53674317294428E-08
  Debug.Print b - b    '等於 0
  Debug.Print c - b    '等於 -9.53674317294428E-08
  Debug.Print d - b    '等於 0.1999998 (連自己同形態相減都有誤差??)
  
  Debug.Print a - a    '等於 0
  Debug.Print b - b    '等於 0
  Debug.Print c - c    '等於 0
  
  Debug.Print 2.9 - a   '等於 0
  Debug.Print 2.9 - b   '等於 -9.53674317294428E-08
  Debug.Print 2.9 - c   '等於 0
  Debug.Print 2.9 - b   '等於 -9.53674317294428E-08
創作者介紹
創作者 vbqa 的頭像
vbqa

小吳 VBQA 程式設計討論

vbqa 發表在 痞客邦 留言(3) 人氣()