C# - 在一个位置后截断

Vil*_*ger 2 c#

我有一个双类型变量.此变量存储的信息是更复杂公式的一部分.重要的是,此变量只能包含最多十分位置或一个小数位(即10.1,100.2等)的信息.但是,在确定此值时,必须对其进行计算,使得超过十分之一位置的任何内容都被截断,而不是四舍五入.例如:

如果值等于10.44,则变量值应为10.4.如果值等于10.45,则变量值也应设置为10.4

如何相对于小数位截断C#中的值?

Phi*_*ert 6

使用扩展方法:

public static double RoundDown(this double value, int digits)
{
     int factor = Math.Pow(10,digits);

     return Math.Truncate(value * factor) / factor;
}
Run Code Online (Sandbox Code Playgroud)

然后你只需使用它:

double rounded = number.RoundDown(2);
Run Code Online (Sandbox Code Playgroud)