I want to return the cell Range("A1") is original value after loop and got ans. on cell Range("A2") , but I don't why the value have long decimal, how solve it?

Dim temp as single, delta as singel
temp = Range("A1") '6.12 original value

Do....
temp = temp + delta 'delta=0.01
Range("A1") = temp 'Range("A1") should be 6.13 why =6.13000000123 ??
loop

Range("A2") = Application.Ceiling(temp , delta) 'Range("A2") should be 6.17 why=6.16999999123 ??

Help and thanks..