lua 和 javascript 之间的不同数字浮点数
Different number floating point number between lua and javascript
为什么在lua下面的计算是
Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio
> print(6.4620332164+14)
20.4620332164
在 Javascript
console.log(6.4620332164+14)
VM208:1 20.462033216400002
或python其
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56)
[GCC 7.2.0] on linux
>>> print(6.4620332164+14)
20.462033216400002
假设它们都是双精度 IEE 754,这里的 lua 浮点数实现有什么特别之处?
print
对每个参数调用 tostring
。
> print(20.462033216400002)
20.4620332164
所以,试试
> print(string.format("%2.15f", 20.462033216400002))
20.462033216400002
只是 IEEE-754 的两倍。
为什么在lua下面的计算是
Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio
> print(6.4620332164+14)
20.4620332164
在 Javascript
console.log(6.4620332164+14)
VM208:1 20.462033216400002
或python其
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56)
[GCC 7.2.0] on linux
>>> print(6.4620332164+14)
20.462033216400002
假设它们都是双精度 IEE 754,这里的 lua 浮点数实现有什么特别之处?
print
对每个参数调用 tostring
。
> print(20.462033216400002)
20.4620332164
所以,试试
> print(string.format("%2.15f", 20.462033216400002))
20.462033216400002
只是 IEEE-754 的两倍。