从Excel表中获得价值9.777123455E9而不是9777123455

我正在从Excel工作表中获取价值(在资产android中)和在列表视图中反映数据的项目。 问题是::电话号码是不正确的格式。

9.777123455E9而不是9777123455

当它是一个电话号码时,您应该始终将单元格数据存储为文本,即使它仅由数字组成,因为电话号码不是math数字,在对其执行操作时,要将其视为一串字符即文本)。

如果您input的电话号码与math编号一样,则会将其解释为数字,并因此会对数字进行处理,但不一定适用于电话号码,例如以科学forms显示。

要强制Excel将您的编号视为文本,请在input前用单引号(撇号)作为前缀。 就是进入单元格:

'9777123455 

它将显示没有单引号,就像你期望的电话号码被显示,并可以作为文本处理。

 double d=9.777123455E9; NumberFormat formatter = new DecimalFormat("#"); System.out.println(d); System.out.println(formatter.format(d)); 

产量

9.777123455E9

9777123455

E9只是意味着乘以10 ^ 9

更新:

正如@blubberdiblub所说的,对于电话号码,将其改为文本是有道理的。 但对于其他情况,如果你需要做math运算,把它留在科学格式的作品中。 您可以右键单击列名并select格式选项以设置列将处理的数据types(数字,文本等)。 如果您不想将电话号码更改为文本,并仍然可以看到该号码,只需增加该栏的宽度即可。 该号码将显示完整(没有“E”)。