Python 从 float 中获取最低有效数字(不使用字符串操作)

标签 python floating-point int bit-manipulation

假设我有 float 12345.6789,我想使用 python (v. 2.6) 中的位运算将六个最低有效数字(即 45.6789)作为一个 int(即 456789)。

我该怎么做?

谢谢

PS 我不想使用字符串操作,即使它很容易:对于任何 float f:

int(str(int(f * 1000))[-10:])

编辑:这个原始问题毫无意义,如其中的评论所示。非常抱歉......下面显示了不使用字符串获取最低有效数字的方法(使用整数和模数)

最佳答案

>>> a = 12345.6789
>>> b = int(a*10000)
>>> b
123456789
>>> c = b % 1000000
>>> c
456789

但是 - 为什么??

关于Python 从 float 中获取最低有效数字(不使用字符串操作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5634714/

相关文章:

python - 不支持带有编码声明的 XML Unicode 字符串

c - C 中 float 组的异或加密

c# - 快速查找遭受浮点不准确

c++ - 在数学上添加两个字符串?

python - 使用 Juniper 执行的 Paramiko 回显命令

python - 使用斐波那契程序对偶数元素求和

floating-point - 为什么 float 不正确?

C - int 和 malloc

python - 将单个字典值从字符串转换为整数?

python - 使用 python asyncore 从套接字读取固定数量的字节