C#中Excel函数ROUNDDOWN(number,num_digits)的等效项是什么?

Ant*_*ift 3 .net c# rounding

正如标题所示,我需要一个C#equivelant of ROUNDDOWN.

例如,如果你采用图13.608000,我正在寻找的输出是13.60.

我似乎无法找到任何涵盖我所追求的东西.

Ric*_*001 8

这是Excel函数的直接端口,用于可变小数位数

public double RoundDown(double number, int decimalPlaces)
{
    return Math.Floor(number * Math.Pow(10, decimalPlaces)) / Math.Pow(10, decimalPlaces);
}
Run Code Online (Sandbox Code Playgroud)

例如RoundDown(13.608000,2)= 13.60,RoundDown(12345,-3)= 12000,


Jam*_*acs 7

您可以执行以下操作:

var rounded = Math.Floor(13.608000 * 100) / 100;
Run Code Online (Sandbox Code Playgroud)

请注意,Math.Floor()向下舍入到最接近的整数,因此需要乘以,向下舍入,然后除以.