Android 从excel工作表中获取值9.777123455E9而不是9777123455

Android 从excel工作表中获取值9.777123455E9而不是9777123455,android,excel,spreadsheet,Android,Excel,Spreadsheet,我正在从事一个项目,在该项目中,我从excel工作表(在android中)中获取价值,并在列表视图中反映数据。 问题是::电话号码格式不正确 9.777123455E9而不是9777123455E9只是表示乘以10^9 更新: 正如@blubberdiblub提到的,对于电话号码,将其更改为文本是有意义的。但在其他情况下,如果你需要做数学运算,让它以科学的形式工作。您可以在列名上单击鼠标右键,然后选择“格式化”选项,以设置列将处理的数据类型(数字、文本等)。如果您不想将电话号码更改为文本,但仍能

我正在从事一个项目,在该项目中,我从excel工作表(在android中)中获取价值,并在列表视图中反映数据。 问题是::电话号码格式不正确


9.777123455E9而不是9777123455

E9只是表示乘以10^9

更新:


正如@blubberdiblub提到的,对于电话号码,将其更改为文本是有意义的。但在其他情况下,如果你需要做数学运算,让它以科学的形式工作。您可以在列名上单击鼠标右键,然后选择“格式化”选项,以设置列将处理的数据类型(数字、文本等)。如果您不想将电话号码更改为文本,但仍能看到号码,只需增加列的宽度即可。号码将显示完整(不带“E”)。

当它是电话号码时,您应该始终将手机数据存储为文本,即使它仅由数字组成,因为电话号码不是数学数字,在对其进行操作时,您希望将其视为字符串(即文本)

如果您输入的电话号码看起来像一个数学数字,它会将其解释为一个数字,因此会对它做一些对数字有意义的事情,但不一定对电话号码有意义,例如以科学的格式显示它

要强制Excel将您的数字视为文本,请在输入数字前加上一个引号(撇号)。也就是说,输入单元格:

'9777123455
它将不带单引号显示,就像您希望显示的电话号码一样,可以作为文本处理

double d=9.777123455E9;

    NumberFormat formatter = new DecimalFormat("#");

    System.out.println(d);
    System.out.println(formatter.format(d));
输出

9.777123455E9

9777123455