Redis Lua debugger: отключить научную нотацию для больших чисел

#debugging #redis #lua

#отладка #redis #lua

Вопрос:

При отладке сценария Lua с использованием Redis Lua debugger я заметил, что большие числа отображаются в научной (экспоненциальной) нотации:

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

Можно ли как-то отключить научную нотацию при отладке на консоли?

Ответ №1:

Это фактически глобально происходит на нескольких компиляторах Lua по умолчанию.

Я нашел решение этой проблемы, с которой я тоже страдал ранее. Это не дало бы число как тип данных числового значения, а скорее как строку. Я также не уверен, где я нашел это решение, но оно у меня есть.

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

При получении его в виде числа, к сожалению, это даст ему научную ценность экспоненты. В качестве альтернативы, вы можете избавиться от этого 0

У меня также есть другое решение, которое включает в себя некоторую математику, но иногда возвращает неточные значения в диапазоне от .000001.

Редактировать: Nvm, извините, только что понял, что это также избавляет от десятичных значений. Забыл попробовать это. Я отредактирую свой пост, как только найду ответ.