📜  C#中的Decimal.Truncate()方法(1)

📅  最后修改于: 2023-12-03 15:00:16.708000             🧑  作者: Mango

C#中的Decimal.Truncate()方法

简介

在C#中,Decimal.Truncate()方法用于截断Decimal类型的小数部分,返回不包含小数部分的整数部分。该方法不会四舍五入,而是直接去除小数部分。Decimal.Truncate()方法位于System命名空间下的Decimal结构中。

语法
public static decimal Truncate(decimal d)
参数
  • d: 需要截断小数部分的Decimal值。
返回值

截断小数部分后的Decimal值。

示例
decimal number = 10.543m;
decimal truncated = Decimal.Truncate(number);
Console.WriteLine(truncated);  // 输出: 10
注意事项
  • Decimal.Truncate()方法返回的是Decimal类型,而不是整型。可以将其转换为整型,或者直接使用Decimal类型进行操作。
  • 如果传入的Decimal值是正数,则直接将小数部分去除,保留整数部分。如果传入的Decimal值是负数,则将小数部分去除,并向负无穷方向取整。
  • 如果传入的Decimal值为正无穷大(PositiveInfinity)、负无穷大(NegativeInfinity)或非数值(NaN),则截断小数部分后仍保持相应的值。
延伸用法

可以结合Decimal.Truncate()方法和其他数学运算符一起使用,例如进行四舍五入、向上取整等等。

例子:四舍五入
decimal number = 10.543m;
decimal rounded = Decimal.Truncate(number * 10 + 0.5m) / 10;
Console.WriteLine(rounded);  // 输出: 10.5
例子:向上取整
decimal number = 10.543m;
decimal ceiling = Decimal.Truncate(number) + 1;
Console.WriteLine(ceiling);  // 输出: 11
总结

Decimal.Truncate()方法是在C#中进行小数截断的常用方法。它能够去除Decimal类型的小数部分,并返回整数部分,非常方便。结合其他数学运算符,可以实现一些常用的数值处理功能。