繁体   English   中英

Python替换只给定整数的浮点数

[英]Python Substituiting a float only giving whole number

我正在读取一个csv文件,并提取一行数据:

x = float(node[1])

当我打印(x)时,我得到了在单元格中找到的正确值或确切值。 例如153.018848

但是当我尝试在下面将x作为变量传递时:

print('<node version="0" lon="%d">' %(x)) 

输出将是<node version="0" lon="153"> 我当然要值153.018848。

我忽略了什么?

提前致谢。

您忽略了%d用于整数的事实。 请尝试使用%f

您想将%d替换为%f,问题已解决;)

请参阅: http : //docs.python.org/release/2.5.2/lib/typesseq-strings.html

对于奖励积分,您是否知道可以将仍然可以使用字典读取的长格式字符串组合在一起? 您可以阅读有关它的更多信息,但是我用过的!r选项在变量上调用repr ()函数,因此您知道插入的内容将与调试中看到的完全一样:

string = """<tagname id=%{idval!r} type=%{tagtype!r} foo=%{bar!r}"""
print string.format( **{'idval':var1, 'tagtype':var2, 'bar':var3})

您使用了错误的格式标志。 %d用于整数,%f用于浮点数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM