Как ограничить количество знаков после запятой в python
Перейти к содержимому

Как ограничить количество знаков после запятой в python

  • автор:

Можно ли в Python во float отбросить k знаков после запятой?

Здравствуйте, вопрос следующий.
Допустим, есть число 17.212123445.
А нужно записать в память только первую цифру после запятой. Каким образом сделать это при помощи вещественных и целочисленных операций?

  • Вопрос задан более трёх лет назад
  • 153449 просмотров

1 комментарий

Простой 1 комментарий

nmkru

Попробуйте через ф-ию round(укажите сколько значков после запятой надо вывести)
>>>a=5.4323321
>>>a.__round__(2)
5.43
>>>a
5.4323321
>>>a.__round__(4)
5.4323

Решения вопроса 1
ненавижу javascript

>>> a=13.946 >>> print(a) 13.946 >>> print("%.2f" % a) 13.95

Ответ написан более трёх лет назад
Нравится 15 10 комментариев
Timebird @Timebird Автор вопроса

Не совсем, тем не менее, спасибо за ответ, это я некорректно вопрос сформулировал, видимо.

Нужно не выводить на печать последние две цифры, а хранить в памяти число с двумя последними цифрами

ну не вопрос допишите b = float(«%.2f» % a)
Timebird @Timebird Автор вопроса
Спасибо, работает. 🙂
Timebird: Ты только не делай так. Для таких случаев есть Decimal.
Roman Kitaev: это норм способ, decimal тянуть для такой задачи оверхед)
Михаил: Ты не знаешь ведь задачу) Вдруг, он там деньги считает?

aklim007

О_о вместо того чтоб воспользоваться хотя бы функцией round для округления до нужной точности, вы серьёзно предлагаете сначала преобразовать в строку а потом обратно в число?

Roman Kitaev: тогда мой вариант может стать причиной того что баланс не сойдется))

Артём Клименко: да мне похеру, я могу и scipy зафигачить чтоб число округлить, и да, я предлогаю именно это, потому что это самый что ни на есть стандартнейший способ, быстро сделать то что в ввопросе описано, и при этом следующий прогер который будет это читать сразу поймет о чем речь. а не будет ебсти себе мозг чо там у нас раунд возвращает, да и приведение в строку и обрато способ куда шустрей по ресурсам)

aklim007

Михаил: round — стандартная bult-in функция, существующая для выполнения конкретной задачи, именно она и является стандартным способом, впрочем, таки да, вы не обязаны со мной соглашаться, но указанный вами способ вызывает у меня стойкое чувство жжения в районе поясницы.

З.Ы. if len(str(bool(a))) == 4:

Как заставить Python выводить нужное количество знаков после запятой?

Мне нужно, что бы программа выводила иррациональное число n, до определённого количества знаков.
Только пожалуйста, объясните по конкретней, а то я тот еще чайник, и просто пытаюсь скопировать и вставить в прогу, надеясь, что она заработает -_-

Голосование за лучший ответ

def toFixed(num, digits=0):
return f»f>»
x = 2 ** 0.5
print(toFixed(x, 25))

ps. Функция возвращает строку. Чтобы производить с ним в дальнейшем операции, его нужен превратить в float, хотя тогда число уменьшиться в кол-ве знаков

n = 3.141592653589793238462643
print(round(n, 2))

второй аргумент в round — количество знаков после запятой

Как ограничить количество знаков после запятой java

Также можно воспользоваться методом format() класса String :

double x = 0.33333; String s = String.format("%.2f", x); // округляем x до 2-х знаков после запятой System.out.println(s); // => 0,33 

Как ограничить количество знаков после запятой в python

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2023. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *