所以我的代码采用了一个小数,如230.3284,并将其拆分为230和.3284。无论如何我可以接受那个' .3284'并将其除以2或者我必须重写我的整个代码
value = 230.3284
x = value.split('.') #x[0] is the whole number, x[1] is the decimal
decimal = '.' + x[1]
return int(decimal) / 2
返回
ValueError: invalid literal for int() with base 10: '.125'
答案 0 :(得分:1)
你也可以这样做:
value = 230.3284
return (value-int(value))/2
int()
函数将float作为参数作为参数,并将其作为int
返回。
答案 1 :(得分:0)
您正在将小数转换为integer
值,这意味着您基本上丢失了存储在其中的所有信息,因为它只是数字的小数部分。
尝试将其转换为float
值。
答案 2 :(得分:0)
你可以使用这个:
>>>s = 230.3284
>>>i, d = divmod(s, 1)
>>> i
230.0
>>> d
0.3283999999999878
>>> d/2
0.1641999999999939