4

假设我有一个这样的数字:

8,7418,741,291

如何使用 python 将该数字乘以 2,然后将逗号放回其中?我希望python函数返回

17,482 和 17,482,582,以字符串格式。

4

2 回答 2

11
my_str = '1,255,000'

my_num = int(my_str.replace(',','')) #replace commas with nothing

这将返回 my_num = 1255000

result = my_num * 2

import locale
locale.setlocale(locale.LC_ALL, 'en_US')
my_str = locale.format("%d", result, grouping=True)

这将返回->my_str='2,510,000'

于 2012-07-31T07:30:11.473 回答
6

第一部分很简单:

temp = "8,741,291".replace(',', '')
n = int(temp) * 2

我认为找回逗号有点困难,但事实并非如此!

如果您使用的是最新版本的 Python,您可以使用新的.format()字符串方法,如下所示:

s = "{0:,}".format(n)

如果您使用的是比 2.6 更新的 Python,则可以0在此示例中省略花括号中的 。(唉,我必须使用 Cygwin,唉,它只提供 2.6,所以我习惯于输入0.)

该方法的规范迷你语言在.format()这里:

http://docs.python.org/library/string.html#formatstrings

@user1474424 解释了这个locale.format()功能,很酷;我不知道那个。我检查了文档;这从 Python 1.5 就已经存在了!

http://docs.python.org/library/locale.html

于 2012-07-31T07:27:34.223 回答