Почему я не могу показать точность значения с плавающей запятой с помощью quantify и engfmt?

#python

#python

Вопрос:

Я работаю над инженерным калькулятором на python, и я нашел несколько пакетов, которые могут преобразовывать значение с плавающей запятой в инженерную нотацию. Сначала я установил engfmt :

Код:

 from engfmt import to_eng_fmt

num = -327.2051
num = to_eng_fmt(num, prec=4)
print(num)
  

Вывод:

 -327.21
  

Второй пакет, который я установил quantiphy , потому что это новая версия и служит той же цели, что и engfmt :

Код:

 from quantiphy import Quantity

num = -327.2051
num = Quantity(num).fixed(prec=4)
print(num)
  

Вывод:

 -327.21
  

Я хочу показать десятичное значение точности до 4 знаков. вот так -327.2051

Версия:

  • Python == 3.7.9
  • quantify == 2.12.0
  • engfmt == 0.2.0 (Я не могу установить версию 1.1.0, потому что она выдает ошибку. Эта версия работает только для меня)

Ответ №1:

В обоих случаях аргумент ключевого слова prec= не указывает количество цифр после десятичной запятой. Он определяет точность целого числа, то есть количество всех цифр.

По соглашению число всех цифр равно указанной точности плюс 1, т. Е. Ваша точность prec=4 дает 5-значный результат.

Увеличьте точность до prec=6 (в вашем случае).