I can construct a rounding error with 32 bit floats: import strformat,strutils proc atof(s:cstring):float32{.header:"stdlib.h",import.} let num= "1.19999998" echo &"{atof(num):.7f} != {parseFloat(num):.7f}" Run
produces 1.1999999 != 1.2000000 Run
I can construct a rounding error with 32 bit floats: import strformat,strutils proc atof(s:cstring):float32{.header:"stdlib.h",import.} let num= "1.19999998" echo &"{atof(num):.7f} != {parseFloat(num):.7f}" Run
produces 1.1999999 != 1.2000000 Run