Как напечатать десятичное число до n десятичных значений, игнорируя 0, если таковые имеются в конце? - PullRequest
0 голосов
/ 07 июля 2019

Я пытаюсь напечатать значения от двух чисел до 4 десятичных знаков, исключая нули, если таковые имеются в конце.

a= 0.125
b= 0.256325

print("%.4f" %round(a,4))
print("%.4f" %round(b,4))

Это дает мне 0,1250 и 0,2563, но я хочу только 0,125 для а и 0,2563 для b

Я ожидаю:

если a равно 0,125, 0,1250 или 0,125000, я должен получить только 0,125 в качестве вывода, а для всех остальных случаев я могу получить 4 ненулевых значения после "."

1 Ответ

0 голосов
/ 07 июля 2019

попробуйте normalize как уже упоминалось здесь

import decimal 
print(decimal.Decimal('0.1230000').normalize())
0.123

для вашего примера

a= 0.125
b= 0.256325

print (decimal.Decimal(str.format('%.4f' %a)).normalize())
print (decimal.Decimal(str.format('%.4f' %b)).normalize())

0.125
0.2563
...