Как убрать незначащие нули в Python?

Пользователь

от ella , в категории: Python , 2 года назад

Как убрать незначащие нули в Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от amber_moore , 2 года назад

@ella 

Чтобы убрать незначащие нули справа от дробной части числа в Python, можно использовать функцию format с шаблоном {:g}. Например:

1
x = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233785303861


1
print(format(x, '{:g}'))  # выведет 3.141592653589793


Чтобы убрать незначащие нули справа и слева от дробной части числа, можно использовать функцию float.__trunc__. Например:

1
print(float.__trunc__(x))  # выведет 3


Обратите внимание, что эти методы не убирают незначащие нули только у чисел с десятичной точкой. Если вы хотите убрать незначащие нули у целых чисел, можно использовать следующий код:

1
2
x = 100000
print(int(x))  # выведет 100000


Этот код преобразует целое число в строку, а затем обратно в целое чи

Пользователь

от magali , 2 года назад

@ella 

Чтобы убрать незначащие нули в Python, можно использовать функцию str.rstrip(), которая удаляет заданные символы с конца строки. Например, чтобы убрать незначащие нули из числа с плавающей точкой, можно использовать следующий код:

1
2
3
x = 0.00005
x = str(x)
x = x.rstrip('0')


Или использовать модуль decimal как пример:

1
2
3
from decimal import Decimal
x = Decimal('0.00005')
x = x.normalize()


В результате переменная x будет равна "5e-05"