首页 > 解决方案 > Redis Lua 调试器:禁用大数的科学记数法

问题描述

使用Redis Lua 调试器调试 Lua 脚本时,我注意到大量数字以科学(指数)表示法显示:

redis.debug(26792254717.283333)
<debug> line 1: 2.67923e+10

在控制台上调试时是否可以以某种方式禁用科学记数法?

标签: debuggingredislua

解决方案


默认情况下,这实际上全局发生在多个 Lua 编译器上。

我已经找到了解决这个问题的方法,我以前也遇到过这个问题。它不会将数字作为数值数据类型,而是作为字符串。我也不确定我在哪里找到了这个解决方案,但我有。

string.format("%.0f", 26792254717.283333) -- Will return as string

当将其作为数字检索时,不幸的是它具有指数科学价值。或者,你可以摆脱那个 0

我还有另一个解决方案,它涉及一些数学,但有时会返回不准确的值,范围在 0.000001 左右。

编辑:Nvm,对不起,刚刚意识到这也摆脱了十进制值。忘记尝试了。找到答案后,我将编辑我的帖子。


推荐阅读