Найти - Пользователи
Полная версия: Посчитать сколько цифр после точки
Начало » Python для новичков » Посчитать сколько цифр после точки
1 2 3
XFaost
Как можно посчитать сколько цифр после точки (1.34000 и 1.45678)?
Shaman
Смотря что за цифры, смотря что за точки.
JOHN_16
>>> v = 1.45678
>>> 
>>> len(str(v).split('.')[-1])
5
XFaost
С “1.45678” - понятно и спасибо. А как бить с “1.34000”?
XFaost
Я РЕШИЛ!
>>> from decimal import Decimal
>>> a = Decimal(1.50000)
>>> len(str(a).split('.')[-1])
5
FishHook
>>>Я РЕШИЛ!
Обманываете!
Ответ не может быть 5, программа вернет 1
А еще больше вы удивитесь, если зададите a = Decimal(1.52332)
XFaost
FishHook
>>>Я РЕШИЛ! Обманываете!Ответ не может быть 5, программа вернет 1А еще больше вы удивитесь, если зададите a = Decimal(1.52332)
простите! ошибся …
https://gyazo.com/bb8b3443238db394c0c1eefd64a75553
>>> from decimal import Decimal
>>> a = Decimal('1.50000')
>>> len(str(a).split('.')[-1])
5
FishHook
В этом виде ваша программа бессмысленна, нет ни малейшего смысла превращать строку в Decimal, чтобы тут же превратить её назад в строку, причем с потерей точности.
JOHN_16
все просто. Нету такого числа 1.50000, есть 1.5 . Это математика, никакой магии. Вот если у вас есть строка “1.50000”, то другое дело. Иначе задача ни о чем.
FishHook
JOHN_16
все просто. Нету такого числа 1.50000
Ну как бы “одна целая пятьдесят тысяч стотысячных”, такое число, безусловно, есть.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB