Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2021, 11:13   #1
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье Как получить дробную часть числа

Здравствуйте!
Подскажите, пожалуйста, как получить дробную часть числа?
Например, 97.54, как мне получить 54?
Если можно, то без дополнительных функций.......
Женя32 вне форума Ответить с цитированием
Старый 12.07.2021, 11:38   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Код:
a = 97.54
f = a - int(a)
или
Код:
import math
a = 97.54
f, _ = math.modf(a)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.07.2021, 13:58   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
f = a - int(a)
А разве мы не получим 0.54, а ТС хочет получить 54?
Arigato вне форума Ответить с цитированием
Старый 12.07.2021, 14:15   #4
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
... ТС хочет получить 54?
Да! Как это сделать?
Женя32 вне форума Ответить с цитированием
Старый 12.07.2021, 14:43   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Arigato, да, и правда, получим дробное. Женя32, например:
Код:
int(str(97.54).split('.')[1])
Но тут могут быть нюансы: сколько нужно знаков после запятой, как предполагается использовать число.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.07.2021, 15:25   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Можно в цикле умножать на 10, пока дробная часть не станет равна нулю или же не достигнем нужного числа знаков.
Arigato вне форума Ответить с цитированием
Старый 12.07.2021, 17:56   #7
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье

Цитата:
Сообщение от BDA Посмотреть сообщение
Arigato, да, и правда, получим дробное. Женя32, например:
Код:
int(str(97.54).split('.')[1])
Но тут могут быть нюансы: сколько нужно знаков после запятой, как предполагается использовать число.
Все, работает! Спасибо!
Женя32 вне форума Ответить с цитированием
Старый 14.07.2021, 17:34   #8
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Возник вопрос: почему split переворачивает цифры числа?
Например, было 10 выдает 01, было 30 выдает 03, было 50 выдает 05, и т.д.
Как это исправить?
Женя32 вне форума Ответить с цитированием
Старый 14.07.2021, 17:43   #9
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Показывайте код. У меня не переворачивает.
ForenLi вне форума Ответить с цитированием
Старый 14.07.2021, 18:14   #10
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Я не правильно сказал... От десятков убирает 0, было 10 стало 1, было 30 стало 3 и т.д.
price = [22.10, 12.20, 22.30, 33.60]

for i in range(len(price)):
if price[i] % 1 != 0:
st = str(price[i])
inp = st.split('.')[-1]
print(inp)price = [22.10, 12.20, 22.30, 33.60]

for i in range(len(price)):
if price[i] % 1 != 0:
st = str(price[i])
inp = st.split('.')[-1]
print(inp)

Последний раз редактировалось Женя32; 14.07.2021 в 18:28.
Женя32 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как посчитать дробную и целую часть числа переводя его из 10-тичной в 8-ричную систему?! diallfam Помощь студентам 2 06.05.2012 01:44
выделить дробную часть числа unbanned Паскаль, Turbo Pascal, PascalABC.NET 12 18.06.2011 22:23
как получить дробную часть float ]tach[ C++ Builder 6 23.01.2011 15:57
простой вопрос - как получить дробную часть Inta Microsoft Office Excel 2 19.11.2008 22:11
отделить дробную часть от числа |v||v|<<IpShot Общие вопросы C/C++ 19 24.09.2008 18:21