有小数,如果存在则要修剪到2位小数
有小数,如果存在则要修剪到2位小数
你尝试过使用value = Decimal.Round(value, 2)
吗?
例如:
using System; class Test { static void Main() { decimal d = 1234.5678m; Console.WriteLine("Before: {0}", d); // Prints 1234.5678 d = decimal.Round(d, 2); Console.WriteLine("After: {0}", d); // Prints 1234.57 } }
请注意,这是四舍五入而不仅仅是修剪(所以这里是四舍五入的)……你究竟需要什么? 有可能Decimal
结构支持您需要做的任何事情。 有关更多选项,请咨询MSDN 。
decimal.Truncate(myDecimal * 100) / 100
这将切掉前两位小数后的所有内容。 对于四舍五入,请参阅Jon的回答。
如果仅用于显示目的,您可以使用:
Console.Out.WriteLine("Number is: {0:F2}", myDecimalNumber);
这应该工作(编辑:固定以删除舍入):
((Int32)(value * Math.Pow(10, decimalPlaces))) / (Math.Pow(10D, decimalPlaces));