使用c#的两个小数位

时间:2012-05-25 06:25:47

标签: c# formatting

decimal Debitvalue = 1156.547m;

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

我必须得到两个小数位但是通过使用这个代码我得到1156.547。 让我知道我必须使用哪种格式来显示两位小数。

13 个答案:

答案 0 :(得分:49)

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

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

这将显示只有两位小数的数字。

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

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

答案 1 :(得分:44)

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

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

答案 2 :(得分:31)

如果要围绕小数点,请查看Math.Round()

答案 3 :(得分:21)

我使用

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

答案 4 :(得分:17)

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

yournumber.ToString("0.00");

答案 5 :(得分:15)

这是另一种方法

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

答案 6 :(得分:10)

仅用于显示,String的属性可以用作以下内容。

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

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

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

答案 7 :(得分:3)

另一种方式:

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

答案 8 :(得分:2)

另一种选择是使用Decimal.Round Method

答案 9 :(得分:2)

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

someValue.ToString(“0.00”,CultureInfo.InvariantCulture)

答案 10 :(得分:0)

如果某人正在寻找一种显示小数位的方法,即使它以“。00” 结尾,请使用以下方法:

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

参考:

如果某人正在寻找一种显示小数位的方法,即使它以“。00” 结尾,请使用以下方法:

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

参考:

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

答案 11 :(得分:0)

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

string.Format("{0:0.00}", Debitvalue)

答案 12 :(得分:-1)

在这里的一些测试中,它可以通过以下方式完美工作:

Decimal.Round(value, 2);

希望这会有所帮助