double pdouble= 3.3603335204002837E12;
String pstart= Double.toString(pdouble).replace(".", "") .trim()
String.format("%10d", pstart);
System.out.println("pstart"+pstart);
我能知道为什么它不起作用吗?
它显示如下:
线程“主”
中的异常java.util.IllegalFormatConversionException:d!= java.lang.String,位于java.util.Formatter $ FormatSpecifier.failConversion(Formatter.java:4302).I
希望任何人都能帮助
%d
是为int
。作为pstart
字符串,请使用b
或s
。
String.format("%10s", pstart);
输出量
33603335204002837E12
但是,如果您只需要数字的前10位数字,请尝试使用 DecimalFormat
DecimalFormat d = new DecimalFormat("0000000000");
String number = d.format(pdouble);
输出量
3360333520400
0
如果数字少于10位,这也会添加前导s。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句