.NET类型来存储任何可能的数字,或者如何将字符串作为数字进行比较



我们正在为.NET DataGrid控件开发一个自动筛选外接程序,其工作原理与相同的MS Excel功能类似。它允许输入自定义筛选条件。我们需要检查网格单元格是否符合自定义筛选条件,但问题是它是字符串格式的。为了优化性能,我们可以将字符串转换为相应的数字,并将其与单元格值作为实数进行比较,但存储此缓存值的最佳.NET数据类型是什么?Double是坏的,因为我们可能会丢失一些数据(精度),BigInteger是好的,但只适用于整数值。另一种方法可以是比较单元格文本和字符串值,以在它们为字符串格式时作为数字进行筛选。有人知道如何在.NET中以最好的方式做到这一点吗?还是只在VB.NET中进行开发?

创建一个能够存储所有可能的数字格式的自定义类:

class ParsedNumber {
 NumberType Type; //Integer, FloatingPoint, Decimal
 BigInteger Integer;
 double FolatingPoint;
 decimal Decimal;
}

这个类可能应该实现相等和比较运算符。

您可以将每个单元格解析为此类的一个实例。类应该抽象不同的格式,这样你就可以把它当作一个数字。

您也可以将其作为一个结构来保存堆分配。

相关内容

  • 没有找到相关文章

最新更新