考虑以下两种情况:
fmt.Println(912 * 0.01)
fmt.Println(float64(912) * 0.01)
(去游乐场链接)
第二个打印 9.120000000000001,这实际上很好,我明白为什么会这样。
但是,为什么第一行打印 9.12,最后没有 …01?Go 是否将两个无类型常量相乘并在编译时简单地将它们替换为 9.12 文字?
ABOUTYOU
当年话下
相关分类