# 两个小数位使用c＃

``````decimal Debitvalue = 1156.547m;

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

36
Math.Round可以工作，甚至你的代码也可以工作。我测试了你的代码，它工作得很好十进制Debitvalue = Convert.ToDecimal（“1156.547”）;十进制DEBITAMT = Convert.ToDecimal（string.Format（“{0：0.00}”，Debitvalue））; Console.WriteLine（DEBITAMT）;

## 10 答案

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

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

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

If you want to round the decimal, look at `Math.Round()`

27

@Dragon - 因为将一个数字转换为一个字符串并返回到一个数字是一种代码嗅觉。

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

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

``````yournumber.ToString("0.00");
``````
9

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

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

decimal.Round（decimalvalue，2，MidpointRounding.AwayFromZero）;

3

Another option is to use the Decimal.Round Method

2

someValue.ToString（“0.00”，CultureInfo.InvariantCulture）

2