Bim*_*mbz 3 java excel decimal
嗨我有一个excel文件读取应用程序,它读取文件中的每个单元格.
每当单元格包含数值时,应用程序就会将其视为数字单元格.
例如,单元格包含(40002547)应用程序将其视为数字单元格.我通过使用此代码获取值:
SONum = String.valueOf(cellSONum.getNumericCellValue());
Run Code Online (Sandbox Code Playgroud)
那很好用.我的问题是它在字符串的末尾附加小数.它将是(40002547.0).我需要它按原样.提前致谢
pax*_*blo 10
这是因为cellSONum.getNumericCellValue()返回浮点类型.如果在调用之前将它强制为整数valueOf(),则应该以整数形式获取字符串表示形式,如果确实这是您想要的所有可能性:
SONum = String.valueOf((int)cellSONum.getNumericCellValue());
Run Code Online (Sandbox Code Playgroud)
您可以在以下代码中看到:
class Test {
public static void main(String[]args) {
double d = 1234;
System.out.println(String.valueOf(d));
System.out.println(String.valueOf((int)d));
}
}
Run Code Online (Sandbox Code Playgroud)
哪个输出:
1234.0
1234
Run Code Online (Sandbox Code Playgroud)
但是,如果您想要删除.0任何字符串的末尾但允许非整数值存活,您可以自己删除尾随文本:
class Test {
public static void main(String[]args) {
double d1 = 1234;
double d2 = 1234.567;
System.out.println(String.valueOf(d1).replaceFirst("\\.0+$", ""));
System.out.println(String.valueOf(d2).replaceFirst("\\.0+$", ""));
}
}
Run Code Online (Sandbox Code Playgroud)
该片段输出:
1234
1234.567
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15154 次 |
| 最近记录: |