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

Mal*_*dog 2 python floating-point int bit-manipulation

假设我有浮点数12345.6789并且我想在python(v.2.6)中使用位操作得到六个最低有效位(即45.6789)作为int(即456789).

我怎么做?

谢谢

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

int(str(int(f * 1000))[-10:])
Run Code Online (Sandbox Code Playgroud)

编辑:这个原始问题毫无意义,如内部评论所示.许多道歉...而不是使用字符串获取最低有效数字的方法如下所示(使用整数和模数)

Tim*_*ker 6

>>> a = 12345.6789
>>> b = int(a*10000)
>>> b
123456789
>>> c = b % 1000000
>>> c
456789
Run Code Online (Sandbox Code Playgroud)

但为什么??