次のような番号があるとします。
8,741または8,741,291
Python を使用してその数値を 2 倍し、コンマを戻すにはどうすればよいですか? Python 関数を返してほしい
17,482 および 17,482,582、文字列形式。
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'
最初の部分は簡単です:
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 から存在しています。