【发布时间】:2021-03-21 03:33:38
【问题描述】:
在使用 Redis Lua debugger 调试 Lua 脚本时,我注意到大量数字以科学(指数)表示法显示:
redis.debug(26792254717.283333)
<debug> line 1: 2.67923e+10
在控制台上调试时是否可以以某种方式禁用科学计数法?
【问题讨论】:
在使用 Redis Lua debugger 调试 Lua 脚本时,我注意到大量数字以科学(指数)表示法显示:
redis.debug(26792254717.283333)
<debug> line 1: 2.67923e+10
在控制台上调试时是否可以以某种方式禁用科学计数法?
【问题讨论】:
默认情况下,这实际上全局发生在多个 Lua 编译器上。
我已经找到了解决这个问题的方法,我以前也遇到过这个问题。它不会将数字作为数值数据类型,而是作为字符串。 我也不确定我在哪里找到了这个解决方案,但我有。
string.format("%.0f", 26792254717.283333) -- Will return as string
当以数字形式检索它时,不幸的是它具有指数科学价值。或者,您可以摆脱那个 0
我还有另一种解决方案,它涉及一些数学运算,但有时会返回不准确的值,范围在 0.000001 左右。
编辑:Nvm,对不起,刚刚意识到这也摆脱了十进制值。忘记尝试了。找到答案后,我将编辑我的帖子。
【讨论】: