在十进制值上执行Math.Round(x,2),但需要确保小数点后的2个数字作为其金额

有些值返回2.0,但我需要它为2.00,因为这是显示在网页上的金钱值。

我在做:

Math.Round(value, 2); 

有没有办法强制它在小数点后的2个数字?

您应该使用小数来存储货币值。

但无论您使用的是小数点还是浮点类型,您的问题都会询问如何以小数点后两位显示数字。 使用money.ToString("0.00")显示两位小数。

如果您使用VB.Net使用

 FormatNumber(number, digitsAfter) 

要么

 FormatCurrency(number, digitsAfter) 

或者这可以在两者中(C#和Vb.Net)

 doubleNumber = -1898300.1987; Console.WriteLine(doubleNumber.ToString("F2", CultureInfo.InvariantCulture)); // Displays -1898300.20 

有关完整的ToString()格式,请参阅此链接: http : //msdn.microsoft.com/en-us/library/dwhawy9k.aspx

如果只需要显示.00或Math.Round(值* 100.0)/ 100.0,则为Mark建议的.ToString(“0.00”); 如果您需要具有分精度的实际值。