2011-07-07 8 views
2

私はいくつかの数値出力でアルゴリズム計算を行うプログラムを持っています。私はこの出力が素敵に見えるようにし、プログラムはまだ高速です。私はDecumalFormatを使用しましたが、これはとても遅くなりますが、動作します。 デフォルトの数値出力を設定する方法がありますので、DecimalFormatは必要ありませんか?java:デフォルトの数値書式

Locale deLocale = new Locale("de_DE"); 
// should be format: ###,###.### 123.456,789  de_DE 

Locale.setDefault (deLocale); 

double f=-123456.123458998; 
System.out.println (""+f+""); // I wourld expect -123.456,123 
// but the output is -123456.123458998 

任意のアイデア??ありがとう! chris

+1

実際には、それらをフォーマットする数字が減速するものが多いのですか?実際に**それらの数字を読む**ことをいつも望むことができますか?言い換えれば、私はあなたが数字を書式設定することができる**確かです。 –

+0

出力フォーマットの速度が懸念される場合は、生データ出力の生成ときれいにフォーマットされた出力を別のスレッドまたはプロセスに分割することを検討できます。生データを分解して後でフォーマットします。 – sudocode

答えて

0

Customizing Formatを参照する必要があります。

###,###.### - de_DEパターンが必要です。

String pattern= "###,###.###"; 
DecimalFormat myFormatter = new DecimalFormat(pattern); 
double f=-123456.123458998; 
String output = myFormatter.format(f); 
System.out.println(f+ " " + pattern + " " + output); 

EDIT:あなたがあなた自身のパターンをしたくない場合は使用Predefined format、。

+0

これまでのところ、このサイトではすべての出力でフォーマットを設定する方法しか示されていません。それは私のために遅くなる。私はそれをgenerellyに設定したい。 – chris01

+0

を参照してください。http://download.oracle.com/javase/tutorial/i18n/format/numberFormat.html –

+1

申し訳ありませんが、この例ではフォーマットの呼び出しがあります(これは私には高価です)。 私はjavaに一般的にフォーマット番号を教える方法を探しています。 – chris01