滑块谁存储整数

时间:2012-05-08 08:29:57

标签: c# wpf numbers slider

我有这个WPF滑块:

<Slider Height="22" HorizontalAlignment="Left" Width="100" TickPlacement="BottomRight" AutoToolTipPlacement="BottomRight" TickFrequency="1" Minimum="10" Maximum="110" Value="{Binding Path=Zoom, Mode=TwoWay}" Ticks="100"/>

和我的c#代码背后的

public object Zoom
{
    get { return _zoom.ToString() }
    set
    {
        try
        {
            string zoom = value.ToString().Replace(",", ".");
            if (zoom.EndsWith(" %"))
            {
                _zoom= System.Convert.ToInt32(System.Convert.ToInt64(zoom));
            }
            OnPropertyChanged("CurrentZoom");
        }
        catch (FormatException ex)
        {
            //TODO: =)
        }
    }
}

如何只能在_zoom中存储整数?我不需要十进制数字。

例如:

缩放是“13,99999”

_zoom应为13(int)

_zoom= System.Convert.ToInt32(System.Convert.ToInt64(zoom));

所以我收到了这个错误:

  

对于Int32,值太大或太小。

怎么了?

2 个答案:

答案 0 :(得分:0)

这会将Decimal值返回到点/小数的左边。

  

计算指定十进制数的整数部分。

 Math.Truncate(zoom)

More Info

答案 1 :(得分:0)

_zoom = (int)Math.Round(System.Convert.ToDouble(zoom));