正在将组合框SelectedItem绑定为双



My ComboBox的ItemsSource绑定到List<double> optionsSelectedItem绑定到属性double SelectedOption

如果options包含值0.0060F, 0.0075F, 0.0100FSelectedItem = 0.0060F,则组合框应该但不应该反映这一点。相反,选择组合框会显示options列表项及其奇怪的十进制表示。是否有可能对具有不可预测表示的double类型的变量进行数据绑定?

代码

ViewModel:

//Properties
public List<double> Options{get;set;}
public double SelectedOption{get;set;}
//Constructor
public ViewModel()
{
    Options =  new List<double>();
    Options.Add(0.0060F);
    Options.Add(0.0075F);
    Options.Add(0.0100F);
    SelectedOption = 0.0060F;
}

绑定:

<ComboBox ItemsSource="{Binding Path=Options}" 
    SelectedItem="{Binding Path=SelectedOption, Mode=TwoWay}" />

组合框中显示的选项有:

  • 0.00600000005215406
  • 0.00749999983236194
  • 0.00999999977648258

也许您应该了解浮点是什么:http://csharpindepth.com/Articles/General/FloatingPoint.aspx

这些值用于提供尽可能接近实际的数字表示。如果您想要精确的值,请使用System.Decimal

最新更新