0

我的 ComboBoxItemsSource绑定到 aList<double> options并且SelectedItem绑定到 property double SelectedOption

如果options包含值0.0060F, 0.0075F, 0.0100Fand SelectedItem = 0.0060F,则 ComboBox 确实应该但不反映这一点。相反,选择 ComboBox 会显示options带有奇怪十进制表示的列表项。甚至可以对double具有不可预测表示的类型变量进行数据绑定吗?

代码

视图模型:

//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}" />

ComboBox 中显示的选项有:

  • 0.00600000005215406
  • 0.00749999983236194
  • 0.00999999977648258
4

1 回答 1

2

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

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

于 2012-09-11T12:49:04.997 回答