首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Webdriver和Java运行自动脚本时意外的数字输出

使用Webdriver和Java运行自动脚本时意外的数字输出
EN

Stack Overflow用户
提问于 2015-05-14 12:24:25
回答 2查看 51关注 0票数 0

在自动化我们的内部应用程序时,在显示excel文件中的数值时遇到了一个问题--使用Selenium (使用Java和TestNG框架)自动化应用程序。

发行:

  • 数值数据在xlsx文件中更新,没有后缀“.0”。
  • 但是,在控制台中显示数据时,这些数据显示如下,后缀为".0“

输入xlsx文件如下:

  • 24213
  • 24214
  • 24215
  • 24216

控制台中的输出:

  • 资料来源: 24213.0
  • 资料来源: 24214.0
  • 资料来源: 24215.0
  • 资料来源: 24216.0

下面是代码片段,请您告知是什么使代码显示这个意外的输出。

如有需要,请告知:

代码语言:javascript
运行
复制
        int row;
        row = sheet.getLastRowNum() + 1;
        for (int i = 1; i < row; i++)
        {

            sheet.getRow(i).getCell(1).setCellType(Cell.CELL_TYPE_NUMERIC);

            double data = sheet.getRow(i).getCell(1).getNumericCellValue();

            System.out.println("Data: " + data);
        }

请查找在http://1drv.ms/1K7XQqO](http://1drv.ms/1K7XQqO])[_ OneDrive ]中共享的输入文件

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-14 12:26:46

因为你用的是双倍。

来自JLS 3.10.2.浮点文字

浮点文字有以下几个部分:整数部分、十进制或十六进制点(用ASCII句号字符表示)、分数部分、指数和类型后缀。

代码语言:javascript
运行
复制
double data = sheet.getRow(i).getCell(1).getNumericCellValue();

来自原始数据类型

双数据类型是一种双精度64位IEEE 754浮点.它的值范围超出了本讨论的范围,但在Java语言规范的浮点类型、格式和值部分中指定。对于十进制值,这种数据类型通常是默认的选择。如前所述,这种数据类型永远不应该用于精确值

使用int

票数 2
EN

Stack Overflow用户

发布于 2015-05-14 12:31:02

当打印到控制台时,有某种形式的"System.out.println“使用。顺便说一下,这是默认的字符串表示形式,请检查以下链接:https://docs.oracle.com/javase/tutorial/essential/io/formatting.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30237331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档