Как вывести float с двумя знаками после запятой
Перейти к содержимому

Как вывести float с двумя знаками после запятой

  • автор:

Python: как вывести число типа float с определенным количеством знаков после запятой

Там есть много опций, для форматирования вывода, можно подробнее почитать в документации.

В вашем случае нужно в функции выводить в print не числа, а строку с форматированием, например:

>>> def vol(rad): . print(" cm^3".format(4/3*3.141592*rad**3)) >>> vol(5) 523.60 cm^3 

Еще интересные способы форматирования есть на enSO. Там немного другой вывод хотел получить автор, но можно подглядеть именно способ.

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

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

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

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:

как ограничить число знаков после запятой в типе float (Си)?

Тип float всегда с одним и тем же количество знаков. А выводить на экран можно с любым количеством знаков и в любом формате — это зависит от того, какой функцией выводить, у каждой свои параметры.

Похожие вопросы

Ваш браузер устарел

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

Как округлить число до 2 знаков js

Для округления десятичных чисел дофиксированного количества знаков после запятой в JS используется метод toFixed() . В качестве параметра метод принимает количество знаков, до которого нужно округлить. Если в исходном числе будет меньше знаков, то недостающие знаки заменятся нулями.

const pi = 3.14159265359; console.log(pi.toFixed(2)); // => 3.14 const num = 4; console.log(num.toFixed(2)); // => 4.00 

22 декабря 2022

Хмм. Думаю тут есть неточность (или для js и так сойдет ?). В вопросе округление числа, но метод toFixed возвращает строку, как быть в таком случае, typescript неоценит такое округление.

18 октября 2022

Для округления десятичных чисел до фиксированного количества знаков после запятой в JavaScript используется метод toFixed() . В качестве параметра метод принимает количество знаков, до которого нужно округлить. Если в исходном числе будет меньше знаков, то недостающие знаки заменятся нулями.

 3.14 const num = 4; console.log(num.toFixed(2)); // => 4.00 

31 августа 2023

Спасибо за пример, у меня задача была получить два случайных числа в диапазоне и округлить до введёного знака после запятой

24 июля 2023

const pi = 3.14159265359; console.log(typeof Number(pi.toFixed(2)); // => «number»

26 февраля 2024

Я использовал Math.round, потому что с .toFixed далее по коду были проблемы. Полученное значение нельзя было добавить к общей сумме и собственно .toFixed ругался.

Вот такое число записывалось в переменную при totalKm = 12: 03.60. Видимо этот 0 впереди ломает работу .toFixed

Math.round(totalKm * 0.3 * 100) / 100;

Если использовать personalCarCosts = (totalKm * 0.3).toFixed(2); ниже по коду получал ошибку

totalCosts = totalMealsCost + totalTravelCosts + totalAccommodationCosts + totalAdditionalCosts + personalCarCosts;

Uncaught TypeError: totalCosts.toFixed is not a function

С Math.round проходит без проблем.

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

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