Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 24, 2018 11:45:09

CAP33
Зарегистрирован: 2018-08-24
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Как перенести запятую у числа?

Привет. Есть число типа float 24187.0. Мне надо перенести запятую на 3 знака влево, чтобы получилось 24.187. Чтобы это сделать я делю число 24187.0 на 1000, но вместо ожидаемого результата получаю 24.187000000000001. Тогда пробую применить округление до первой цифры после запятой: round(24187.0 / 1000, 1). Но получаю 24.199999999999999.
Подскажите, что я неправильно делаю. Может есть ещё какие-нибудь способы переноса запятой?

Отредактировано CAP33 (Авг. 24, 2018 11:46:45)

Офлайн

#2 Авг. 24, 2018 16:23:17

clipper1995
Зарегистрирован: 2018-03-19
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Как перенести запятую у числа?

Непонятно, в каком контексте поставлена задача.

Если подойти формально, можно просто преобразовать в текст, и сделать на выходе текст.

Хотя у меня так получается

 x = float(24187.0)
y = float(x / 1000)
print(y)

Отредактировано clipper1995 (Авг. 24, 2018 16:26:56)

Офлайн

#3 Авг. 24, 2018 17:27:11

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Как перенести запятую у числа?

  
>>> n = 24187.0
>>> n
24187.0
>>> out = round(n / 1000, 5)
>>> n, out
(24187.0, 24.187)
>>>



Офлайн

#4 Авг. 24, 2018 22:18:02

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 325
Репутация: +  13  -
Профиль   Отправить e-mail  

Как перенести запятую у числа?

В питоне из-за абстрагиования нас от этих низкоуровневых преблуд, типо базовых типов int, chat(массив байтов тут), float, double, long и т.п. питон сам решает где и что будет. Но в этом как раз он часто и ошибается. Но вот в новых версиях питона (3.6.x-3.7.x) эта проблема почти исправлена.

 >>> 24187.0 / 1000
24.187
>>> print('izi pizi')
И так с любыми расчетами. (Бывают косяки, но редкие)



____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version