Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 11, 2016 00:06:41

XFaost
Зарегистрирован: 2016-06-05
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Посчитать сколько цифр после точки

Как можно посчитать сколько цифр после точки (1.34000 и 1.45678)?

Офлайн

#2 Июнь 11, 2016 00:31:12

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Посчитать сколько цифр после точки

Смотря что за цифры, смотря что за точки.

Отредактировано Shaman (Июнь 11, 2016 18:41:32)

Офлайн

#3 Июнь 11, 2016 00:57:04

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Посчитать сколько цифр после точки

>>> v = 1.45678
>>> 
>>> len(str(v).split('.')[-1])
5



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Июнь 11, 2016 07:57:00

XFaost
Зарегистрирован: 2016-06-05
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Посчитать сколько цифр после точки

С “1.45678” - понятно и спасибо. А как бить с “1.34000”?

Офлайн

#5 Июнь 11, 2016 08:52:16

XFaost
Зарегистрирован: 2016-06-05
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Посчитать сколько цифр после точки

Я РЕШИЛ!

>>> from decimal import Decimal
>>> a = Decimal(1.50000)
>>> len(str(a).split('.')[-1])
5

Отредактировано XFaost (Июнь 11, 2016 09:14:49)

Офлайн

#6 Июнь 11, 2016 09:29:34

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Посчитать сколько цифр после точки

>>>Я РЕШИЛ!
Обманываете!
Ответ не может быть 5, программа вернет 1
А еще больше вы удивитесь, если зададите a = Decimal(1.52332)



Офлайн

#7 Июнь 11, 2016 09:44:24

XFaost
Зарегистрирован: 2016-06-05
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Посчитать сколько цифр после точки

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

Отредактировано XFaost (Июнь 11, 2016 09:46:21)

Офлайн

#8 Июнь 11, 2016 16:36:14

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Посчитать сколько цифр после точки

В этом виде ваша программа бессмысленна, нет ни малейшего смысла превращать строку в Decimal, чтобы тут же превратить её назад в строку, причем с потерей точности.



Офлайн

#9 Июнь 11, 2016 19:04:46

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Посчитать сколько цифр после точки

все просто. Нету такого числа 1.50000, есть 1.5 . Это математика, никакой магии. Вот если у вас есть строка “1.50000”, то другое дело. Иначе задача ни о чем.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#10 Июнь 11, 2016 20:38:27

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Посчитать сколько цифр после точки

JOHN_16
все просто. Нету такого числа 1.50000
Ну как бы “одна целая пятьдесят тысяч стотысячных”, такое число, безусловно, есть.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version