в python, как разбить число по десятичной запятой

Итак, если я запускаю:

a = b / c

и получаю результат 1,2234

Как мне разделить его так, чтобы у меня было:

a = 1
b = 0.2234
19
задан K DawG 18 December 2013 в 09:36
поделиться

5 ответов

>>> from math import modf
>>> b,a = modf(1.2234)
>>> print ('a = %f and b = %f'%(a,b))
a = 1.000000 and b = 0.223400
>>> b,a = modf(-1.2234)
>>> print ('a = %f and b = %f'%(a,b))
a = -1.000000 and b = -0.223400
19
ответ дан 30 November 2019 в 03:33
поделиться
a,b = divmod(a, 1)
11
ответ дан 30 November 2019 в 03:33
поделиться

Попробуйте:

a, b = int(a), a - int(a)

Бонус: работает также и с отрицательными числами. -1,7 делится на -1 и -0,7 вместо -2 и 0,3 .

РЕДАКТИРОВАТЬ Если a гарантированно неотрицательно, тогда решение gnibbler - правильный путь.

РЕДАКТИРОВАТЬ 2 ИМХО, решение Одомонтуа превосходит и мое, и решение гниблера.

6
ответ дан 30 November 2019 в 03:33
поделиться
b = a % 1
a = int(a)

или что-то в этом роде

1
ответ дан 30 November 2019 в 03:33
поделиться
int(a)/b == 1
(a/b)%1 == 0.2234
0
ответ дан 30 November 2019 в 03:33
поделиться
Другие вопросы по тегам:

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