以下のVB.netにコードがあります:
me.Index = Format(Convert.ToDouble(g.Trim()), "##.##")
結果 : 120.00
C#で同じことをするにはどうすればよいですか。C# では format 関数を使用しません。結果がポイントの後に2つ以上の値を配置しないようにしたいだけです。つまり、値 120.120000 を送信すると、結果は 12.12 になります
「C# では format 関数を使用しない」という意味が明確ではありませんが、もちろん使用できますstring.Format
。ただし、使用double.ToString
する方がおそらく簡単です。
Index = Convert.ToDouble(g.Trim()).ToString("0.##");
(先頭の数字が常に存在するように先頭##
をに変更したので、たとえば ".5" が表示されません。先頭の数字を本当にオプションにしたい場合は、それを に変更してください。私はしませんただし、接頭辞として使用する利点があります。)0
"#.##"
##
でも:
.
ですか?double
。を使用すべきではありませんdecimal
か?You can do it like this,
decimal.Round(yourValue, 2, MidpointRounding.AwayFromZero);