1

「double.toString()」からの結果の文字列に double の正確な値を含める方法はありますか?

例えば

double d = 123.0   ->   toString() will be "123"

カスタム形式を使用することで少し解決策を見つけましたが、.toString("#.0")小数点以下の桁数を追加したい場合は、最初の場所に戻ります

double d = 123.00   ->  toString("#.0") will be 123.0
double d = 123.0    -> toString("#.00") will be 123.00

私がこれをやろうとしている理由は、実際に表示される値とは異なる値を使用する必要があるカスタム テキスト ボックスがあり、このテキスト ボックスに独自の値を入力しようとすると、テキスト ボックスがテキストを無視するためです。小数点以下にゼロを入力してみてください。したがって、この数値を正しく入力できるようにtoString、 の正確な値と等しい値が必要です。double

ありがとうございました

4

1 に答える 1

4

「double.toString()」からの結果の文字列に double の正確な値を含める方法はありますか?

これには a -の正確な値が含まれてますが、aには 123 と 123.0 と 123.00 の差は格納されていません。doubledouble

decimalただし、違いを保存します-とにかく正確な10進数を気にする場合は、はるかに適切です。

一方、実際には間違った場所で比較を行っているように聞こえます。

私がこれをやろうとしている理由は、実際に表示される値とは異なる値を使用する必要があるカスタム テキスト ボックスがあり、このテキスト ボックスに独自の値を入力しようとすると、テキスト ボックスがテキストを無視するためです。小数点以下にゼロを入力してみてください。

文字列値を比較しないでください- 値を ( または のいずれdecimalかにdouble) 解析してから、解析された値を比較します。

これにより、「0123」と「123」は同じ値を表しますが、異なる文字列である先行ゼロの問題も回避されます。

于 2013-02-08T08:45:16.717 に答える