通貨を表示するには、次のようにします。
ToString("0.##")
値5.00
の場合、出力は次のとおりです。
5
値5.98
の場合、出力は次のとおりです。
5.98
値5.90
の場合、出力は次のとおりです。
5.9
小数点以下2桁で表示するには、3番目のケースが必要です。例:
5.90
他の結果に影響を与えずにこれを行うにはどうすればよいですか?
試す:
value.ToString("#,##0.00")
あるいは単に:
value.ToString("C")
両方がゼロでない場合にのみ、小数点以下2桁すべてを展開する組み込みの方法はありません。if
おそらくそのためのステートメントを使用するでしょう。
if (s.EndsWith(".00"))
s = s.Substring(0, s.Length - 3);
これでは問題を解決する形式が得られないことはわかっていますが、これを回避するための簡単な解決策です。
(5.00).ToString("0.00").Replace(".00",""); // returns 5
(5.90).ToString("0.00").Replace(".00", ""); // returns 5.90
(5.99).ToString("0.00").Replace(".00", ""); // returns 5.99
次のような拡張メソッドを使用できます。
public static string ToCurrencyString(this decimal d)
{
decimal t = Decimal.Truncate(d);
return d.Equals(t) ? d.ToString("0.##") : d.ToString("#, ##0.00")
}
#
番号がない場合は空のままにすることを意味します0は番号がない場合は0を入れることを意味します
ToString( "0.00")
私が何かを逃しているかどうかはわかりませんが、あなたはこれを行うことはできません:
decimal moneyvalue = 1921.39m;
string html = String.Format("Order Total: {0:C}", moneyvalue);
Console.WriteLine(html);
使用するだけmyDecimal.ToString("N")
で、
「N」パラメータを使用すると、小数が文字列に変換され、表示される小数の数はSO設定によって定義されます。