是什么导致了Python中大小转换的不同结果(hurse.filesize与Fred cirra)?

是什么导致了Python中大小转换的不同结果(hurse.filesize与Fred cirra)?,python,Python,我试图将文件大小从字节转换为人类可读的格式。这是软件包,还有Fred Cirra的另一个实现: 使用rush.filesize: size(1024 ** 3.4) Out[69]: '15G' 使用Fred Cirra: sizeof_fmt(1024 ** 3.4) Out[68]: '16.0GiB' 我很困惑,所以我试着计算 1024 ** 0.4 Out[71]: 16.000000000000004 为什么他们得到了不同的结果 1024**3.4为17179869183.999

我试图将文件大小从字节转换为人类可读的格式。这是软件包,还有Fred Cirra的另一个实现:

使用rush.filesize:

size(1024 ** 3.4)
Out[69]: '15G'
使用Fred Cirra:

sizeof_fmt(1024 ** 3.4)
Out[68]: '16.0GiB'
我很困惑,所以我试着计算

1024 ** 0.4
Out[71]: 16.000000000000004

为什么他们得到了不同的结果

1024**3.4
17179869183.999989
,除以
1073741824
(一GB)为
15.99999999999
。它几乎是16 GB,但不完全是,这就是为什么两个可能不同(一个截断,另一个循环,或者类似的东西)。@JoachimPileborg是的,你是对的。从
harse.filesize
源代码:
amount=int(字节/系数)
-它被截断。(我个人认为不应该)。谢谢大家!<代码>1024**3.4为
17179869183.999989
,除以
1073741824
(一GB)为
15.99999999999
。它几乎是16 GB,但不完全是,这就是为什么两个可能不同(一个截断,另一个循环,或者类似的东西)。@JoachimPileborg是的,你是对的。从
harse.filesize
源代码:
amount=int(字节/系数)
-它被截断。(我个人认为不应该)。谢谢大家!<代码>1024**3.4为
17179869183.999989
,除以
1073741824
(一GB)为
15.99999999999
。它几乎是16 GB,但不完全是,这就是为什么两个可能不同(一个截断,另一个循环,或者类似的东西)。@JoachimPileborg是的,你是对的。从
harse.filesize
源代码:
amount=int(字节/系数)
-它被截断。(我个人认为不应该)。非常感谢。