首页 > 解决方案 > 在 Lua 中计算值以提高精度

问题描述

该表达式在我的 CPU 上print(math.pi)给出了pi最多3.141592653589813 位小数的值, lua 5.3. 是否有可能获得更多小数位数的值,例如最多math.pi50 个小数位的值。如果是这样,在 lua 中可以计算的最高限制是多少?

标签: luaevaluationcalculationevaluate

解决方案


print(string.format("%0.50f", math.pi))

打印 3.14159265358979311599796346854418516159057617187500

来自https://www.lua.org/source/5.3/lmathlib.c.html

#define PI      (l_mathop(3.141592653589793238462643383279502884))

为什么两个数字不同,我不知道。但是,如果您想分别以比 print 或 tonumber 更高的精度打印,您是否必须自己格式化数字。


推荐阅读