gpt4 book ai didi

java - 如何将18位 double 格式化为10个字符串字符

转载 作者:行者123 更新时间:2023-11-30 05:57:56 25 4
gpt4 key购买 nike

double pdouble= 3.3603335204002837E12;

String pstart= Double.toString(pdouble).replace(".", "") .trim()

String.format("%10d", pstart);

System.out.println("pstart"+pstart);

我能知道为什么它不起作用吗...
它显示这个:

Exception in thread "main"
java.util.IllegalFormatConversionException: d != java.lang.String at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4302) .I

希望大家帮忙

最佳答案

%d 代表 int。由于 pstart 是一个字符串,因此使用 bs

String.format("%10s", pstart);

输出

33603335204002837E12

阅读Java String format()

<小时/>

但是,如果您只需要号码的前 10 位数字,请尝试使用 DecimalFormat

DecimalFormat d = new DecimalFormat("0000000000");
String number = d.format(pdouble);

输出

3360333520400

如果数字少于 10 位,这还会添加前导 0

关于java - 如何将18位 double 格式化为10个字符串字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52835992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com