如何格式化来自 Bright Idea Software 的 ObjectListView 的 DataListView 中的数字以显示精确到小数点后 4 位

How to format numbers in DataListView from Bright Idea Software's ObjectListView to show precision upto 4 decimal places

我正在使用来自 Bright Idea Software 的 ObjectListView 的 DataListView 来显示实时数据。我需要显示最多 4 个小数点的双精度值。我该如何实施?

我想您目前使用 AspectName 属性 到 get/set 值。请改用 AspectGetter 并根据需要格式化 return 值。

假设您有一个 "Item" 类型的模型对象和一个 属性 "DoubleValue" 双精度类型:

olvColumn1.AspectGetter += delegate(object rowObject) {
    Item item = rowObject as Item;
    return Math.Round(item.DoubleValue, 4);
};

您也可以使用 ToString() 转换 DoubleValue,但仅当您不需要从 OLV 编辑 属性 时才建议这样做。因为 OLV "sees" 您 return 来自 AspectGetter 的类型(然后将是字符串而不是双精度)并且如果您尝试编辑该值则不使用 NumericUpDown 控件。