微信公众号:一起学习大数据呀
关注可学习更多奇怪的知识!
前言
产品的文档要求,对导入Excel ,特别是价格必须符合数字,否则提示错误
问题
我明明对Excel模板设置了文本格式(自定义)格式,总数出错,后面 debug,才发现,数字莫名其妙多了个 .0 的玩意。
意味着我得除去 .0 这该死的后缀。
解决
public class Test {
public static void main(String[] args) {
Double num = 1000.00;
System.out.println(num);
String numOne = new BigDecimal(num).stripTrailingZeros().toString();
System.out.println("用 toString 方法:"+numOne);
String numTwo = new BigDecimal(num).stripTrailingZeros().toPlainString();
System.out.println("用 toPlainString 方法:"+ numTwo);
}
}
结果
Connected to the target VM, address: '127.0.0.1:13664', transport: 'socket'
1000.0
用 toString 方法:1E+3
用 toPlainString 方法:1000
其中 stripTrailingZeros() 方法就是 删除尾随零, 至于为什么用 toPlainString() 而不是 toString()
根据文档解释:
如果用 toString() 难免会输出成科学计数法的格式,这显然不是我们要的,所以推荐用 toPlainString() !