下列:
>>>import struct
>>>struct.unpack('!d', ('40d11998e5035288').decode('hex'))[0]
>>>
>>>17510.3889778429
我希望能够将值17510.3889778429打印到.csv输出文件。由于某种原因,当我将其写入文件时,它会舍入小数并只写:
17510.3889778
我将如何以更高的精度进行打印?
谢谢,
内德
最佳答案
假设您使用的是Python的csv模块,该文档说,非字符串数据是使用str()
格式化的,这似乎是发生截断的地方。因此,您可以做的一件事就是定义自己的类,该类将所需的方式字符串化:
class myFloat( float ):
def __str__(self):
return "%.12f"%self
x = myFloat( 17510.3889778429 )
print "%s"%x
产量:
17510.388977842900