Here is situation:
Input:
var a = 1.2567789m;
var b = 1.898436216m;
var c = 1.79863m;
var aD = 2;
var bD = 3;
var cD = 1;
Result:
var aR = 1.25m;  
var bR = 1.898m;
var cR = 1.7m;
So input is different decimal numbers with different amounts of decimal places and number of need decimal numbers. I need to round down input numbers by the number of decimal places, which can be different every time. I wrote a method for this which is working fine, but I wonder if there is a better solution :
    static void Main(string[] args)
            {
                var a = 1.2567789m;
                var b = 1.898436216m;
                var c = 1.79863m;
    
                var aD = 2;
                var bD = 3;
                var cD = 1;
    
                Console.WriteLine(RoundDown(a, aD));
                Console.WriteLine(RoundDown(b, bD));
                Console.WriteLine(RoundDown(c, cD));
                Console.ReadLine();
            }
    
            private static decimal RoundDown(decimal number, int decimals)
            {
                switch (decimals)
                {
                    case 1:
                    {
                        return (Math.Truncate(number * 10)) / 10;
                    }
                    case 2:
                    {
                        return Math.Truncate(number * 100) / 100;
                    }
                    case 3:
                    {
                        return Math.Truncate(number * 1000) / 1000;
                    }
                    case 4:
                    {
                        return Math.Truncate(number * 10000) / 10000;
                    }
                    case 5:
                    {
                        return Math.Truncate(number * 100000) / 100000;
                    }
                    case 6:
                    {
                        return Math.Truncate(number * 1000000) / 1000000;
                    }
                    case 7:
                    {
                        return (Math.Truncate(number * 10000000)) / 10000000;
                    }
                    case 8:
                    {
                        return Math.Truncate(number * 100000000) / 100000000;
                    }
                    case 9:
                    {
                        return Math.Truncate(number * 1000000000) / 1000000000;
                    }
                    case 10:
                    {
                        return Math.Truncate(number * 10000000000) / 10000000000;
                    }
                    default: return 0;
                }
            }
Thank you very much in advance
 
     
     
    