2016-04-13 17 views
1

私が使用してTRUNCATEを実行します。文字列の形式とロケールの問題 - アンドロイド

label.setText(String.format("%.2f", 1.2975118)); 
// 1,30 

私が代わりにポイントのカンマ(、)を取得し、私はフロート上の操作を実行する必要があるので、これは私のプログラムがクラッシュし(。)数字。

どのようにfloatと、.setTextをカンマではなくポイントで切り捨てることができますか?

+2

あなたは[こちら]答えを見つけることができます(http://stackoverflow.com/questions/8601011/string-format-uses-comma-instead-of-point ?answertab = votes#tab-top)、等しい質問。 – zerokol

+0

愚かに聞こえるかもしれませんが、フォーマットの後にすべてのカンマをポイントで置き換えることができます。 '.replaceAll();' –

答えて

2

String.formatは現在のローカル設定に依存しているので、ドットをセパレータとして使用しないでください。独立したString.format(java.util.Locale.US,"%.2f", floatValue);

ロケールを使用して好む:

double d = 1.234567; 
DecimalFormat df = new DecimalFormat("#.##"); 
System.out.print(df.format(d)); 
+1

String.format(java.util.Locale.US、 "%2f"、floatValue)を使用しました^^ありがとう! –

+0

DecimalFormat df = new DecimalFormat( "#。##");これはLocaleにも依存します –