0

我在尝试实现的解决方案中遇到了一个问题,即我需要能够使用C#.

例如,如果我正在创建两个代表一个公式的对象,则可以说这两个公式(2.0 + 7)和 (2.000 + 7) 是等价的。即, (2.0 + 7) == (2.00000 + 7)。但是,我不确定解决此问题的最佳方法是。我正在考虑正则表达式,但我不确定我能否得到我正在寻找的结果。

resolution在这种情况下似乎会有问题。例如,两个公式 2.0 + 7 和 2.000000001 + 7 并不相同,但它们非常接近。所以我的问题是,正则表达式可以解释这个吗?同样,正则表达式会是最好的方法吗?

经过详细说明,以下内容应该是合法的。

Assert.IsTrue(new Formula("2.0 + x7").Equals(new Formula("2.000 + x7")))

Formula类中有一个存储对List字符串的引用的字段。此列表必须包含相同的值,以便覆盖的“Equals”方法返回 true。

4

3 回答 3

3

您不需要 RegExp,只需使用 Math.Round(Double, Int32)

于 2013-09-27T05:10:40.623 回答
0

尝试这个 :

double num = 587.21500;
var res = Double.Parse(num.ToString("G29"));
于 2013-09-27T05:13:31.773 回答
0
double variable = 56.123456;
string twoplaces = String.Format("{0:0.##}", variable);

?

于 2013-09-27T05:14:46.950 回答