私DecimalFormatは時々「?」を返します しようとするときformat()。このシナリオを作成する入力はありますか?
例えば:
DecimalFormat df = new DecimalFormat("#.####");
df.format(X); // output : '?'
何がX考えられるでしょうか?
私DecimalFormatは時々「?」を返します しようとするときformat()。このシナリオを作成する入力はありますか?
例えば:
DecimalFormat df = new DecimalFormat("#.####");
df.format(X); // output : '?'
何がX考えられるでしょうか?
これは疑問符ではなく、U+FFFD REPLACEMENT CHARACTER? として表示される です。出力エンコーディングにマップできないため:
NaN は文字列としてフォーマットされ、通常は \uFFFD という 1 文字で構成されます。この文字列は、DecimalFormatSymbols オブジェクトによって決定されます。これは、プレフィックスとサフィックスが使用されていない唯一の値です。
同様に、? 無限大の表現ではU+221E INFINITY文字 (∞) です。
Infinity は文字列としてフォーマットされ、通常は \u221E という 1 文字で構成され、正または負の接頭辞と接尾辞が適用されます。無限の文字列は、DecimalFormatSymbols オブジェクトによって決定されます。
以下も参照してください。
「?」が返ってきます。または。_ X_ 「-?」を返すようです。Float.NaNFloat.POSITIVE_INFINITYFloat.NEGATIVE_INFINITY