[英]C# Double - ToString() formatting with two decimal places but no rounding
[英]Rounding and formatting the nullable decimal in c#
我使用下面的代码将小数点四舍五入到小数点后两位。
decimal? RTime = RTime.HasValue ? Decimal.Round(RTime.Value, 2) : 0;
但是转换 numberlike 512->512.00 不起作用..我该怎么做?
Decimal.Round
四舍五入十进制值。 例如512.123
到512.12
。
你想要的是一个字符串表示。 您需要格式化值而不是舍入。 您可以为此使用ToString()
:
decimal? RTime = RTime.HasValue ? Decimal.Round(RTime.Value, 2) : 0;
string RTimeAsString = RTime.Value.ToString("0.00");
或string.Format
或字符串插值,如下所示:
string RTimeAsString = string.Format("{0:0.00}", RTime);
string RTimeAsString = $"{RTime:0.00}"
我认为您混淆了舍入和格式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.