嗨我有問題解析-0.000000e + 00在Linux上(在Windows上工作)。Python -0.000000e + 00結構包返回錯誤的值
struct.pack("d", -0.000000e+00)
在linux上struct.pack更改-0.000000e + 00到0.000000e + 00。當我在打包前打印值是正確的,但是struct.pack的結果就像是0.000000e + 00。
有沒有解決這個問題的方法。
我想我需要添加負數女巫是最接近0.如何做到這一點?
EDIT struct.pack("d", -0.000000e+00)
結果 '\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X80'
struct.pack("!d", -0.000000e+00)
結果 '\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00'
struct.pack("<d", -0.000000e+00)
結果 '\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00'
struct.pack(">d", -0.000000e+00)
結果 '\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00' 我想要使用「< d」和「> d」。
編輯Sry沒有錯誤。
請發帖[你正在使用的代碼](http://sscce.org/)。對於這個問題,CPU體系結構也可能是相關的。 'struct.unpack('d',struct.pack(「d」,-0.000000e + 00))[0]'在cpython 3.2和2.7的Linux/amd64下工作正常。 – phihag 2012-07-31 08:36:25