我的值是100.0000。我需要将其截断到仅两位小数,例如100.00,当它在第三和第四位有00时,我需要将其截断。怎么做??
答案 0 :(得分:1)
如果要处理财务价值,则必须使用decimal
。
对于另一类属性,可以使用double
根据我的经验,您不想截断,因为如果截断,则会损失一部分价值。我想你想四舍五入。在c#中,您可以使用Math.Ceiling()
double result = Math.Ceiling(value);
但是,如果您仍然想将值截断为两位小数,则可以使用两种方法来做到这一点,例如使用字符串插值:
如果要格式化字符串:
Console.WriteLine($"{value:N2}");
如果不需要格式化的字符串:
Console.WriteLine($"{value:F2}");
答案 1 :(得分:0)
容易:您所要做的就是将格式说明符用作ToString()方法的参数。在这种情况下,它将是“ F2”:
double value = 100.0000;
Console.WriteLine(value.ToString("F2"));
答案 2 :(得分:0)
十进制dec = 100.000;
dec .ToString ("#.##"); // returns "" when decimalVar == 0
如果要保留为小数而不是字符串,请使用
dec = Math.Round( dec , 2 , MidpointRounding.ToEven);
有关更多详细信息,请点击此链接