2010-08-10 48 views

Respuesta

1
b = a % 1 
a = int(a) 

o algo

+1

Para un '= -1.7' el resultado es' '-2' y 0.3', que probablemente no lo es el autor quería obtener – Bolo

9
a,b = divmod(a, 1) 
+1

Para 'a = -1.7' el resultado es' -2' y '0.3', que probablemente no es lo que el autor quería obtener. – Bolo

+0

hermoso gracias –

+0

No tendré números negativos implicados. – Incognito

4

Probar:

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

Bono: funciona para los números negativos. -1.7 se divide en -1 y -0.7 en lugar de -2 y 0.3.

EDIT Si a se garantiza que es no negativo, entonces la solución de gnibbler es el camino a seguir.

EDIT 2 En mi humilde opinión, la solución de Odomontois supera tanto a la mía como a la de gnibbler.

16
>>> 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 
0
x = 1.2234 

y = str(x/100).split('.') 

a = y[0] 
b = y[1] 

entonces el resultado es ...

a = 1 
b = 2234 
+0

b = 2234 no es lo que OP deseaba. Él quiere b = 0.2234 – zelite

Cuestiones relacionadas