在转换为字符串时,浮点的Python精度丢失

2024-05-14 14:37:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Scapy的sniff函数从pcap文件读取数据包。在

pkt=sniff(offline="a.pcap",count=1)[0]

在IDLE with pkt.time时,我能够得到包的时间戳,即1431063004.998014。但是当我试图将时间戳转换成一个带有str(pkt.time)的字符串,或者用pkt.time代替{},我只得到1431063005.0。在

有没有可能以字符串的形式获得确切的时间戳值??在

注意:
我查看了decimal模块。但这需要精确的数字。不知道数字我猜也没用。在


Tags: 文件函数字符串timecountwith时间pcap
3条回答

repr是另一种类似str的方法,它精确地转换整个浮点。不需要导入decimal或任何内容。像使用str一样使用它,它只返回一个str对象。在

>>> x = repr(pkt.time)
>>> type(x)
>>> <type 'str'>

试试这个:

  "{:.6f}".format(pkt.time)

试试这个:

"{:.6f}".format(pkt.time) 

相关问题 更多 >

    热门问题