我有一个双类型变量.此变量存储的信息是更复杂公式的一部分.重要的是,此变量只能包含最多十分位置或一个小数位(即10.1,100.2等)的信息.但是,在确定此值时,必须对其进行计算,使得超过十分之一位置的任何内容都被截断,而不是四舍五入.例如:
如果值等于10.44,则变量值应为10.4.如果值等于10.45,则变量值也应设置为10.4
如何相对于小数位截断C#中的值?
使用扩展方法:
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)