double をフォーマットするために次のコードを変更しています: "###,##0.#########"。通常は正常に動作しますが、「123」のような数字がある場合、「123.0」と表示されます。その場合、小数点以下を出力しないようにするにはどうすればよいですか?「123」を表示したいだけです。
Java チュートリアルを読んだ後、フォーマット文字列の小数点以下はすべてポンド記号であり、0 ではないため、小数点以下は何も表示されないように見えますが、そのように動作していません。
また、フォーマット文字列の小数点以下の最初の場所に0 があるのはなぜですか?
編集:私の完全なコードは次のとおりです。私はこのプロジェクトに慣れていませんが、なぜこれが行われるのかを理解しようとしています:
textField = new TextField("field", Double.class) {
public org.apache.wicket.util.convert.IConverter getConverter(
Class type) {
DoubleConverter converter = (DoubleConverter) DoubleConverter.INSTANCE;
java.text.NumberFormat numberFormat = converter
.getNumberFormat(getLocale());
java.text.DecimalFormat decimalFormat = (java.text.DecimalFormat) numberFormat;
decimalFormat.applyPattern("###,##0.#########");
converter.setNumberFormat(getLocale(),
decimalFormat);
return converter;
};
};