Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 存储整数的滑块_C#_Wpf_Numbers_Slider - Fatal编程技术网

C# 存储整数的滑块

C# 存储整数的滑块,c#,wpf,numbers,slider,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"/> 为什么只有整数可以存

我有一个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"/>
为什么只有整数可以存储在_zoom中?我不需要十进制数

例如:

缩放为“1399999”

_缩放应为13(整数)

所以我得到了这个错误:

值对于Int32太大或太小


怎么了?

这将返回点/小数点左侧的十进制值

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


\u zoom=System.Convert.ToInt32(Math.Truncate(System.Convert.ToDecimal(zoom))也可以说
值对于Int32太大或太小。
尝试:_zoom=Math.Truncate(缩放);也许这是文化的问题。根据计算机的设置,
Convert
可能需要小数点或小数点逗号。为什么要将zoom转换为int64,然后将其转换为int32为什么不直接进入int32呢?看看Math.Round方法。它有一个用于中点舍入的重载。默认值为ToEven(例如,如果你有2.5,它将四舍五入到2.0。但是如果你有3.5,它将四舍五入到4.0)。从零开始,它将总是向上取整到下一个数字@Nicholas,这非常有用。谢谢
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= System.Convert.ToInt32(System.Convert.ToInt64(zoom));
 Math.Truncate(zoom)
_zoom = (int)Math.Round(System.Convert.ToDouble(zoom));