0

我正在尝试使用带有 Jython 的 Marathon 测试工具编写测试。我正在使用 Apache POI 来读取/写入 Excel 文件。我对 Jython 和 Apache POI 很陌生,所以这个问题对某些人来说可能看起来很简单,但我无法超越它。我在 Cell 界面中使用 getCell() 函数,它可以很好地抓取单元格,但它为我打印的内容不是我想要的。我想要整数值,但它返回一个浮点数。

for r in range(1, rowsBusiness):
    row = sheetBusiness.getRow(r)
    idNum = row.getCell(0) # it is returning double values here
    print idNum
    print idNum.getStringCellValue()

我可以返回双精度值,只要我可以将它们转换为字符串或整数,因为我正在测试的应用程序从字符串转换为整数或吐出错误,但我不知道如何转换从 double 去掉小数点。getStringCellValue() 函数不适用于 idNum。它只是让它空白并且测试卡住了。我还格式化了 Excel 文件,以便它只在我所指的单元格中采用整数值。因此,例如,在 excel 文件中,我的值为 1(格式化为不包含任何小数点),但打印 idNum 返回 1.0

关于如何将其转换为字符串或整数的任何有用提示?或者任何其他可能有助于成功解决方法的想法?

4

1 回答 1

0

Excel 文件格式只有几个基本类型,如数字和字符串。大多数数字都存储为浮点值 + 格式化规则。这就是为什么你要返回一个 double 而不是 int - 这就是文件中的内容!

Apache POI 提供了DataFormatter 类,它接受一个浮点值和格式字符串,并尽最大努力返回一个数字字符串,如 Excel 中所示。对于您的情况,调用它可能会产生您所追求的。

于 2013-12-18T00:01:58.103 回答