Trong khi chuyển đổi một số float32 sang độ chính xác float64 đang bị mất trong Go. Ví dụ chuyển đổi 359.9 thành float64 tạo ra 359.8999938964844. Nếu float32 có thể được lưu trữ chính xác tại sao float64 mất độ chính xác?Tại sao tôi mất độ chính xác trong khi chuyển đổi float32 sang float64?
Mẫu mã:
package main
import (
"fmt"
)
func main() {
var a float32 = 359.9
fmt.Println(a)
fmt.Println(float64(a))
}
Thử nó trên Playground
https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html – Mysticial