将float转换为int,这样每个信息都会被保留,或者如何获得长字符串的长度

2024-04-25 08:24:37 发布

您现在位置:Python中文网/ 问答频道 /正文

在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

我可以用字符串中的“+”替换“-”,然后把它转换回一个浮点数,但这在我看来是一个非常难看的方法,我想一定有一个更干净的数学方法来做到这一点。 有什么建议吗?你知道吗


Tags: 方法信息len情况数字整数解决方案float