为什么在Erlang中存储变量时,浮点值会被截断?

0 erlang

2> PI = 3.14159265358979323846264338.
3.141592653589793
3> PI.
3.141592653589793
Run Code Online (Sandbox Code Playgroud)

PI中的其他数字发生了什么变化?如何获得完整的价值?

Mic*_*ohl 6

Erlang使用IEEE 754-1985双精度(64位)浮点数,其精度约为16位十进制数.换句话说,你所看到的是预期的.

你当然也可以使用math:pi/0,这是3.1415926535897932.