4

次のような番号があるとします。

8,741または8,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 に答える