Redis Lua调试器:禁用大数字的科学计数法

当使用Redis Lua调试器调试Lua脚本时,我注意到大数字被显示为科学(指数)记数法:

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

在控制台上进行调试时,是否可以禁用科学计数法?

点赞
用户14266397
用户14266397

这实际上是多个Lua编译器的默认全局现象。

我之前也遇到过这个问题,并找到了解决方案。它不会将数字以数字值数据类型的形式返回,而是以字符串的形式返回。

我不确定我从哪里找到了这个解决方案,但我有它。

redis.debugstring.format"%.0f"26792254717.283333))--将返回字符串形式

当作为数字检索它时,不幸的是它会给出指数科学值。或者,你可以去掉0。

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

编辑:对不起,我刚才想到这也会去掉小数位数。忘记试过那个了。我一旦找到答案就会编辑我的帖子。

2020-12-09 18:00:54