String.format("%.2f", doubleValue);
を単に切り捨てるのではなく、丸める(切り上げアルゴリズム)のを防ぐにはどうすればよいですか?
例えば.
doubleValue = 123.459
フォーマット後、
doubleValue = 123.46
最後の桁を破棄したいだけです、
123.45
これを行うには他の方法があることを知っています。String.formatを使用してこれが可能かどうかを知りたいだけです。
丸めモードはいつでも設定できます。
http://Java.Sun.com/javase/6/docs/api/Java/math/RoundingMode.html
次に、String.Format()を使用します。デフォルトではHALF_EVENが使用されますが、CEILINGに変更できます。
もう1つのそれほど柔軟なアプローチはありません(しかし、これはあなたが尋ねたものではありません):
DecimalFormat df = new DecimalFormat("###.##");
df.format(123.459);
答えは大きな太ったNOのようです。 http://Java.Sun.com/javase/6/docs/api/Java/util/Formatter.html#dndec "次に、値は切り上げハーフアップアルゴリズムを使用して切り上げられます"
NumberFormatterではRoundingModeを設定できるので、彼らがそうするのは奇妙だと思います。しかし、あなたが言うように、それを行う他の方法があります。明らかに最も簡単なのは、最初に値から.005を引くことです。
doubleValue = 123.459
doubleValue = Math.ceil(doubleValue*100)/100;