2016-10-12 9 views
0

私は文字の小数点以下桁数を文字列に代入しようとしていましたが、 」は、ヨーロッパでは「123,456.789」、東南アジアでは「123.456.789」となります)。String.Format数値の引数 - Java

私が入れてどのような引数わからないので、私は以下の持っているコードは、これを達成するためにそれをしない(小数点以下第三位をint型の値を割り当てる必要があるかもしれない?)

缶文字列はこのようにフォーマットされますか?sCurrentNumber(スティング)をdouble値に解析してから渡す必要がありますか?

sCurrentNumber = String.format(sCurrentNumber + "0"); 

はまた、ローカライズに - 強調表示された機能を介して行われます?:任意の助けを事前に

enter image description here

感謝を。

答えて

0

要するに、フォーマット機能を利用するには、2倍に解析する必要があります。まず、String.formatでグループ化フラグを使用します。 'currentNumber'は2倍であると仮定します。

String sCurrentNumber = String.format("%,f", currentNumber); 

少なくとも適切なロケールグループ化文字を取得します。しかし、精密な細部も扱わなければならないかもしれません。

詳細はFormatterを参照してください。

+0

ありがとうございました。私はこの精度問題について以前は聞いたことがありますが、それが何であるかを完全には確信していません(この段階で私はJavaプログラマーではないと思います!)、それが何であるか、 3 * 5は常に15ですか? (私が知っている、貧弱な例が、私はあなたが私が言っているものを得ると思う) – Jeremy

+1

私はちょうどあなたがこのように番号をフォーマットするときに末尾のゼロがあるかもしれないことを意味しました。あなたはフォーマットされた数でどれくらいの精度が必要かを決める必要があります。私が投稿したリンクを見てください。私はそれがたくさんあることを知っていますが、Stringsのためのi18nは、Javaの独特の問題ではありませんので、コンセプトはうまくいくはずです。 – rmlan

+0

助けてくれてありがとう! – Jeremy

関連する問題