public static void Main()
Console.WriteLine((175.500000m).Truncate(0).ToString("F" + 2));
public static class DecimalExtensions
public static decimal Truncate(this decimal value, int decimalPlaces)
if (decimalPlaces is < 0 or > 6)
throw new ArgumentOutOfRangeException(nameof(decimalPlaces), "Erro");
else if (decimalPlaces == 0)
return Math.Truncate(value);
var integerPart = Math.Truncate(value);
var scalingFactor = value - integerPart;
var multiplier = (decimal)Math.Pow(10, decimalPlaces);
scalingFactor = Math.Truncate(scalingFactor * multiplier) / multiplier;
return integerPart + scalingFactor;