乘法
(327.59 * 100.0)
产生的数字小于32759,为什么?如何避免这种情况?
答案 0 :(得分:6)
使用F#Interactive修改的漂亮打印机,数字精度完全显示。
fsi.AddPrinter( fun (x:float) -> sprintf "%26.16e" x)
(327.59 * 100.0)
// val it : float = 3.2758999999999996e+004
32759.0
// val it : float = 3.2759000000000000e+004
那是
的原因(327.59 * 100.0) < 32759.0 = true