Python,将数字转换为字符串'按原样'

时间:2010-09-29 14:55:34

标签: python sqlite

使用Python 2.6


我希望能够将00000,000.00004和001等数字转换为字符串。这样每个字符串分别为'00000','000.00004'和'001'。

执行此操作的方式也必须与所有数字相同,并且在字母输入时也应对。例如。 foo应该变为'foo',2bar应该变成'2bar'但001应该仍然是'001'。


使用str([object]),上面的数字将分别变为'0','4e-05'和'1'。



有什么想法吗?

编辑:

@unholysampler(以及其他所有人)你当然是对的。

我只是感到困惑,因为Sqlite3正在接受字符串,然后在将它们放入数据库时​​将它们转换为整数或浮点数,尽管它被声明为字符串列。但这完全是另一个问题。

第二次编辑:

如果有人好奇为什么Sqlite3会这样做,那是因为我实际上已经将列设置为模式中的'STRING'类型,它应该是'TEXT'类型(参见http://www.sqlite.org/datatype3.html) - 这与Sqlite的“动态打字”(见http://www.sqlite.org/faq.html#q3)相结合,足以让我感到困惑: - )

感谢您提供了很好的答案:D

2 个答案:

答案 0 :(得分:8)

没有数字0000或001.只有0和1.如果要生成数字的字符串表示,可以使用string formatting填充零。

n = 1
print '%03d' % n //001

答案 1 :(得分:0)

第一步是:但是你得到一个你认为应该是00000而不是0的数字......实际上并没有将它转换为数字。只需将其保留为字符串即可。