Как отбросить нули справа?
Форматирую значения в строку, нужно, чтобы сохранялись только значащие разряды справа и если их нет совсем, то число вставлялось в строку как целое. То есть:
x = 10.0 # Типа флот y = 12.2 ' - '.format(x, y) --> '10 12.2'
Отслеживать
51.4k 86 86 золотых знаков 267 267 серебряных знаков 505 505 бронзовых знаков
задан 17 апр 2012 в 10:12
199 1 1 золотой знак 2 2 серебряных знака 9 9 бронзовых знаков
17 апр 2012 в 10:42
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Тогда только руками:
print(''.format(10.0).rstrip('0').rstrip('.'))
Либо расширить функционал format:
from string import Formatter class Fmt(Formatter): def format_field(self, value, spec): if spec[-1] == 'p': spec = 'f'.format(spec[:-1]) return super(Fmt, self).format_field(value, spec).rstrip('0').rstrip('.') return super(Fmt, self).format_field(value, spec) fmt = Fmt() print(fmt.format(' - ', 10.0, 10.2))
Python. как убрать ненужные 0
Все не целые цифры будут откинуты и округлены. То есть, 10.3 = 10. Но, по моему 10.5 = 11. Но я точно не помню.
Можно выводить не а и b, a их функции f(a) и f(b), причём функция f в случае, когда число х является фактически целым, переопределяет тип и определяется так:
. if x-int(x)==0:return int(x)
Тогда оператор print(f(a),f(b)) выдаст:
10 13.05
Вот пример расчёта гипотенузы прямоугольного треугольника по его катетам а и b (f определена выше!):
import math
a=float(input(«a b container-for-similar»>
Округление чисел и его особенности

Округлением чисел в Python занимается встроенная функция round.
round(number[, ndigits]) — округляет число number до ndigits знаков после запятой (по умолчанию, до нуля знаков, то есть, до ближайшего целого)
Со школы многие привыкли, что, когда (N + 1) знак = 5, а последующие знаки равны нулю, округление производится всегда в большую по модулю сторону.
Однако, как видно из примеров, в Python это не так. Здесь используется так называемое "Банковское округление", то есть округление к ближайшему чётному.
На практике это оказывается не так уж и важно, например:
Что-то не так, правда? На самом деле, всё именно так, как и задумывалось. Просто из-за проблем с точностью чисел с плавающей точкой это число чуть больше, чем 2.85, а потому округляется до 2.9.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Как убрать 0 после запятой в python



Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required