将正数和负数四舍五入到最接近的 10

Rounding pos and neg numbers to the nearest 10

我在四舍五入问题上遇到了一些麻烦。我有一个转换器可以根据输入的值将图表比例更新为最接近的 10。该值可以是正数也可以是负数。

我试图构建一个数学语句以四舍五入到最接近的 10,但是对于非常小的数字它不起作用。 (5 以下的数字)。

进来的值是double,但是会显示成int。如果能帮我看看我做错了什么,那就太好了。

  public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
                return (int)((double)value >= 0 ? 
                        (Math.Round((double)value / 10, MidpointRounding.AwayFromZero) * 10) : 
                        (Math.Abs((Math.Round((double)value / 10, MidpointRounding.AwayFromZero) * 10)) * -1));
    } 

这个怎么样:

return value > 0 ? 
    Math.Ceiling(value / 10) * 10 : 
    Math.Ceiling(Math.Abs(value) / 10) * -10;