Yes.
80917.65 => 32-bit IEE 754 is 0x479e0ad3 == 80917.6484375 1 .00111100000101011010011 80917.65 => 64-bit IEE 754 is 0x40F3C15A66666666 == 80917.650000000000 1 .00111100000101011010011 00110011001100110011001100110 The last part, the “…00110011001100110011001100110,” is not representable in 32-bit floating point and makes the difference that you see. From: <golang-nuts@googlegroups.com> on behalf of Mauro Romano Trajber <traj...@gmail.com> Date: Wednesday, December 14, 2016 at 9:35 AM To: "golang-nuts@googlegroups.com" <golang-nuts@googlegroups.com> Subject: [go-nuts] float32 vs float64 precision lost when casting to int The float to int conversion behaves different for 32 and 64 precision. https://play.golang.org/p/-zkCNSTbNa Is this the correct behavior? I'm using go version go1.7.4 linux/amd64 -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.