Java 比较网站和Excel数据之间的数据

Java 比较网站和Excel数据之间的数据,java,excel,selenium,selenium-webdriver,Java,Excel,Selenium,Selenium Webdriver,我使用assert TestNG比较文本框值和excel工作表中的值 我面临的问题是,尽管excel和网站文本框中的值相同,但显示的却是错误-java.lang.AssertionError:预期为[0.02],但实际为[0.0200] HTML代码: 您正在比较字符串,而不是数字。0.2与0.200不同 在比较它们之前,尝试将它们转换为小数 DecimalFormat df = new DecimalFormat("0.00"); df.setMaximumFractionDigits(2);

我使用assert TestNG比较文本框值和excel工作表中的值 我面临的问题是,尽管excel和网站文本框中的值相同,但显示的却是错误-java.lang.AssertionError:预期为[0.02],但实际为[0.0200]

HTML代码:


您正在比较字符串,而不是数字。0.2与0.200不同

在比较它们之前,尝试将它们转换为小数

DecimalFormat df = new DecimalFormat("0.00");
df.setMaximumFractionDigits(2);
String decimal = df.format(someString);

理想情况下,创建BigDecimal对象并进行比较。

更改电子表格中的格式,以匹配测试中的格式。或者如果我读错了,反过来说。它们都需要精确到小数点后2位。至少我是这么认为的。

如果要与整数进行比较,请在比较之前将字符串转换为整数,这将有助于减少混淆 若要将sting转换为Double,请使用

double aDouble = Double.parseDouble("0.02");

错误显示两个字符串不同您可以发布示例字符串如何将文本框字符串值转换为十进制number@Santhosh.S``Double.parseDoublestring;BigDecimalDecimal=新的BigDecimalsomeString;要解析为整数的十进制值?请重新思考您的示例请理解他的问题,他的真正问题是他试图将两个数字作为字符串进行比较,这是一件坏事。我只是指出他应该在比较之前做一个转换。无论如何,我已经更新了它。
DecimalFormat df = new DecimalFormat("0.00");
df.setMaximumFractionDigits(2);
String decimal = df.format(someString);
double aDouble = Double.parseDouble("0.02");