我正在从事一个项目,在该项目中我从 excel 表(在资产 android 中)获得价值并在列表视图中反映数据。问题是::电话号码格式不正确。
9.777123455E9 而不是 9777123455
我正在从事一个项目,在该项目中我从 excel 表(在资产 android 中)获得价值并在列表视图中反映数据。问题是::电话号码格式不正确。
9.777123455E9 而不是 9777123455
当它是电话号码时,您应该始终将单元格数据存储为文本,即使它仅包含数字,因为电话号码不是数学数字,并且在对其进行操作时,您希望将其视为字符串(即文本)。
如果您输入的电话号码在 Excel 中看起来像一个数学数字,它会将其解释为一个数字,因此会对其执行对数字有意义的操作,但不一定对电话号码有意义,例如以科学格式显示.
要强制 Excel 将您的数字视为文本,请在输入时在其前面加上单引号(撇号)。即进入单元格:
'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 提到的,对于电话号码,将其更改为文本是有意义的。但对于其他情况,如果您需要进行数学运算,请将其保留为科学格式。您可以右键单击列名并选择格式选项以设置列将处理的数据类型(数字、文本等)。如果您不想将电话号码更改为文本并仍然看到号码,只需增加列的宽度即可。该数字将完整显示(不带“E”)。