stringvalue=125.32600
このコードで10進数値に変換すると、
decimal d;
decimal.tryparse(stringvalue,out d)
d 値は 125.326 です。最終結果 125.32600 でこの変換を行うにはどうすればよいですか
stringvalue=125.32600
このコードで10進数値に変換すると、
decimal d;
decimal.tryparse(stringvalue,out d)
d 値は 125.326 です。最終結果 125.32600 でこの変換を行うにはどうすればよいですか
あなたのコードは書かれたとおりに機能します (小数点記号があなたの文化と一致する限り):
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
あなたができることは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
データベースにゼロが本当に必要な場合は、事前にフォーマットされた文字列として保存できますが、それは非常に非効率的です。
これによって解決しようとしている問題は何ですか。より良い解決策があるかもしれません。