在Python中,我收到两个float
a = 0.123456
b = 0.012340
还有精准度
p = 0.000001
这就告诉我,浮点数字的第6位小数点之后不会有其他数字。 我想把浮点数转换成两个整数,这样它们携带的每个信息都用整数表示。你知道吗
int_a = 137632
int_b = 12340
这种情况下的解决方案显然是将它们乘以1000000,但我想不出一个聪明的方法来达到这一点。 我尝试通过以下方法获得p中的位数:
len(str(p))-1 //-1 because of the dot.
但是:
>>> str(p)
>>> 1e-06
我可以用字符串中的“+”替换“-”,然后把它转换回一个浮点数,但这在我看来是一个非常难看的方法,我想一定有一个更干净的数学方法来做到这一点。 有什么建议吗?你知道吗
为什么不把
a
和b
与1/p
相乘呢?你知道吗您完全不需要python(或其字符串方法),只需要将结果浮点值转换为整数,只需要算术-)
相关问题 更多 >
编程相关推荐