excel vbaexception(for循环结果)

对不起,没有给出更详细的标题,但这是因为这个特殊情况。 我的谷歌search没有给我任何类似的话题。

下面的简单代码应该给出一系列从0.1到10的数字,步骤0.1(我希望至less)列A中:

Cells(1, 1) = 0.1 For i = 2 To 100 Cells(i, 1) = Cells(i - 1, 1) + 0.1 Next i 

直到5.9运行良好,但之后的结果并不如预期:

而不是6我得到5,99999999999999

而不是6.1我得到6,09999999999999

而不是6.2我得到了6,29999999999999

任何人都可以解释什么是错误的代码或为什么我得到这个结果?

谢谢!

或者只是这个?

 Sub Sample() Dim i As Long For i = 1 To 100 '~~> Change Sheet1 to respective sheet ThisWorkbook.Sheets("Sheet1").Cells(i, 1) = i * 0.1 Next i End Sub 

或者像这样

 Sub Sample() '~~> Change Sheet1 to respective sheet With ThisWorkbook.Sheets("Sheet1").Range("A1:A100") .Formula = "=Row()*.1" .Value = .Value End With End Sub