在Python中将字符串格式化到一定的字符限制

2024-03-28 21:00:43 发布

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

我有一个代码,在对它们进行数学运算后输出一大堆数字。在代码的某一点上,它们被numpy.rint取整,在某些情况下(我相信当9四舍五入到10时),我会得到一个我不想要的尾随零。我有一些代码看起来像这样

ra3n = ra3/60 * 10
ra3n = np.rint(ra3n)
ra3n = ra3n.astype(str) ##there is a good reason that this needs to be a string

我需要所有得到的ra3n都是5个字符长,但偶尔会有一个字符长6个字符。如何正确格式化?请记住,我是一个彻头彻尾的python noob,所以我可能需要为我详细说明它=)

编辑:

以下是我的输出:

^{pr2}$

在字符串的前半部分有6位而不是5位的情况是错误的;后面的零不应该存在。在


Tags: 代码numpyisnp情况数字数学there
2条回答

ra3n = ra3n[:-1] if ra3n[-1] == '0' else ra3n

可能有更好的解决方案,但我不确定我是否真正理解您的问题,而没有看到一些输出。在

更改ra3n的类型,这是一种糟糕的编程实践。试试这个。在

ra3n = format(ra3/60.*10., '5f')[:5]

这正好给出了五个字符。请注意,如果字符串通常是六个字符长,那么不管好坏,最后一个字符都会被截断。还请注意,我在60和10个数字中包含了小数点:这保证了使用浮点除法,而不是在python2中使用整数除法。在

相关问题 更多 >