使用 c# 的两个小数位

本文关键字:两个 小数 使用 | 更新日期: 2023-09-27 18:35:28

decimal Debitvalue = 1156.547m;
decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:0.00}", Debitvalue));

只需要得到两个小数位,但使用此代码我得到了 1156.547。我必须使用哪种格式来显示两个小数位?

使用 c# 的两个小数位

您的问题是要求显示两个小数位。使用以下 String.format 会有所帮助:

String.Format("{0:.##}", Debitvalue)

这将显示最多两位小数的数字(例如,2.10将显示为2.1)。

使用"{0:.00}",如果你想总是显示两个小数位(例如2.10将显示为2.10)

或者,如果您希望显示货币符号,请使用以下命令:

String.Format("{0:C}", Debitvalue)

使用 Math.Round() 四舍五入到小数点后两位

decimal DEBITAMT = Math.Round(1156.547m, 2);
如果要

对小数进行四舍五入,请查看Math.Round()

如果你想总是显示两个小数位(即使你的数字只有一个小数位),最好的方法是使用

yournumber.ToString("0.00");

我使用

decimal Debitvalue = 1156.547m;
decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:F2}", Debitvalue));

这是另一种方法

decimal decimalRounded = Decimal.Parse(Debitvalue.ToString("0.00"));

为了仅显示,String的属性可以用作如下。

double value = 123.456789;
String.Format("{0:0.00}", value);

使用 System.Math.Round .此值可以分配给其他人或根据需要进行操作。

double value = 123.456789;
System.Math.Round(value, 2);

另一种方式:

decimal.Round(decimalvalue, 2, MidpointRounding.AwayFromZero);

可能是其他示例的变体,但我使用此方法还确保在小数位之前显示一个点而不是逗号:

someValue.ToString("0.00", CultureInfo.InvariantCulture)

另一种选择是使用 Decimal.Round 方法

如果有人在寻找一种显示小数位的方法,即使它以".00"结尾,请使用以下命令:

String.Format("{0:n1}", value)

参考:

https://learn.microsoft.com/pt-br/dotnet/standard/base-types/standard-numeric-format-strings#the-numeric-n-format-specifier

要显示两个十进制数字,请尝试给定的语法。

字符串。format("{0:0.00}", 借记值)

在这里的一些测试中,它以这种方式完美地工作:

Decimal.Round(value, 2);

希望这有帮助