如何将小数位截断为2位?

时间:2019-10-23 20:43:30

标签: c# .net

我的值是100.0000。我需要将其截断到仅两位小数,例如100.00,当它在第三和第四位有00时,我需要将其截断。怎么做??

3 个答案:

答案 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);

有关更多详细信息,请点击此链接

https://docs.microsoft.com/en-us/dotnet/api/system.decimal.round?redirectedfrom=MSDN&view=netframework-4.8#System_Decimal_Round_System_Decimal_System_Int32_System_MidpointRounding_

相关问题