4

stringvalue=125.32600このコードで10進数値に変換すると、

decimal d;
decimal.tryparse(stringvalue,out d)

d 値は 125.326 です。最終結果 125.32600 でこの変換を行うにはどうすればよいですか

4

5 に答える 5

2

あなたのコードは書かれたとおりに機能します (小数点記号があなたの文化と一致する限り):

decimal d;
decimal.TryParse("125.32600", NumberStyles.Number, CultureInfo.InvariantCulture, out d);
s = d.ToString(CultureInfo.InvariantCulture); // 125.32600

Decimal末尾のゼロの数をすでに覚えています。これはdecimal、整数の仮数部と 10 進数の桁数を表す指数を使用して、正規化されていない形式で数値を表すことが原因です。たとえば125.32600、次のように表されます12532600 * 10^-5

于 2013-10-05T11:16:41.817 に答える
1

あなたができることはcount、それらを別のDBフィールドに保存することですzeroes。同じ番号を連結するだけstringで結果が必要な場合。zeroesへのゼロのdecimal number string

元。

string p="123.456000";
int zeroes=p.Split('0').Length - 1; // guess
decimal value = Decimal.Parse(p); //without zeroes
string valWithZero=value.toString().padRight(zeroes,'0'); //with zeroes
于 2013-10-05T10:58:55.643 に答える
0

データベースにゼロが本当に必要な場合は、事前にフォーマットされた文字列として保存できますが、それは非常に非効率的です。

これによって解決しようとしている問題は何ですか。より良い解決策があるかもしれません。

于 2013-10-05T10:55:19.793 に答える