2010-08-10 30 views

Trả lời

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

hoặc một cái gì đó

+1

Đối với 'a = -1.7' kết quả là' -2' và '0.3', mà có lẽ không phải là điều tác giả muốn nhận. – Bolo

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

Đối với 'a = -1.7' kết quả là' -2' và '0.3', có lẽ không phải là tác giả muốn nhận. – Bolo

+0

cảm ơn đẹp –

+0

tôi sẽ không có số âm. – Incognito

4

Hãy thử:

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

Bonus: làm việc cho số âm là tốt. -1.7 được chia thành -1-0.7 thay vì -20.3.

EDIT Nếu a được đảm bảo không âm, thì giải pháp của gnibbler là cách để thực hiện.

CHỈNH SỬA 2 IMHO, giải pháp Odomontois 'đánh bại cả của tôi và của 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] 

sau đó kết quả là ...

a = 1 
b = 2234 
+0

b = 2234 không phải là những gì OP mong muốn. Anh ta muốn b = 0,222 – zelite

Các vấn đề liên quan