4

テキストボックスがあり、ビューモデルクラスのdouble値にtextプロパティを結合しました。また、数値のみが入力されるように、テキストボックスの正規表現を作成しました。

ビューモデルクラスの値を計算しています。値が0.00001以下の場合、テキストボックスに(1.E-5)のような指数形式が表示されます。

指数形式ではなく、テキストボックスに0.00001のようなdouble値を表示したい。また、文字列形式、つまりD、F2、F5は使用したくありません。浮動小数点の数を制限するからです。どうすれば解決できますか?

4

2 に答える 2

1

StringFormatのプロパティで遊ぶ必要がありますBinding。ドットの後に2つの数字を表示する場合、 XAMLTextBoxは次のようになります。

<TextBox Text="{Binding YourText, StringFormat=N2}" />

に関する詳細情報が必要な場合は、標準の数値形式StringFormatの文字列に関するMSDNの記事を読むことをお勧めします。

于 2012-12-31T22:17:59.343 に答える
0

これが解決策ではないことは知っていますが、役立つかもしれません。このような文字列を取得してその形式を変更するメソッドを使用できます

string expon2notexpon(string num)
{
    num=num.ToLower();
    int index=num.IndexOf('e');
    if (index == -1)
        return num;

    string firstNum=num.Substring(0, index-1);
    int count=int32.Parse(num.Substring(index+1));
    res="0.";
    for (int i=1;i<count;i++)
    {
        res += '0'
    }
    res += firstNum.ToString();
}

アイデアを入力したところ、バグがある可能性があります。

于 2012-12-31T13:22:35.173 に答える