2017-09-16 10 views
0

私はpython v3を使用しています。私はこの文字列を持っています1,027.86。私はそれを浮動小数点に変換したい1027.86この数値文字列をカンマで変換してPythonで浮動小数点数に変換するより良い方法はありますか?

私はグーグルで解決策を見つけました。

import locale 
locale.setlocale(locale.LC_NUMERIC, "nl") 
price = '1,027.86' 
price = locale.atof(price)*1000 

私は何locale.setlocale(locale.LC_NUMERIC, "nl")手段上のドキュメントを検索するが、答えを見つけることができませんでした。 http://dc.dyu.edu.tw/python/350/library/locale.html

setlocal()には、1000を掛け合わせることなく直接結果を返すよりよい議論がありますか?

+0

あなたは '引数ROはあなただけのフロートに文字列を変換したいん)(SETLOCAL'について特に求めていますか? – wwii

答えて

1

setlocale()の場合はnlを指定すると、デフォルトでオランダのフォーマットに設定されます。 ukのようなものを使用すると、数値形式がxxx,xxx,xxx.xxxの形式であるため、正しく変換されるはずです。

import locale 

locale.setlocale(locale.LC_NUMERIC, "uk") 
price = '1,027.86' 
print(locale.atof(price)) 

これは、表示になります。

1027.86 
1

単純な文字列置換を使用して、正しく解析できる浮動小数点数にすることができますprice = float('1,027.86'.replace(',',''))

関連する問題