gpt4 book ai didi

java - 任何避免结果包含 "9.223372036854776E18"的方法

转载 作者:行者123 更新时间:2023-12-04 06:18:55 27 4
gpt4 key购买 nike

我正在制作一个将大数转换为字符串的程序,然后将该字符串的字符相加。它工作正常,我唯一的问题是 Java 将我的数字转换为标准形式,而不是将其作为普通数字,这使得解析字符串变得困难。有什么解决办法吗?

public static void main(String ags[]) {
long nq = (long) Math.pow(2l, 1000l);
long result = 0;
String tempQuestion = Double.toString(nq);
System.out.println(tempQuestion);
String question = tempQuestion.substring(0, tempQuestion.length() - 2);
for (int count = 0; count < question.length(); count++) {
String stringResult = question.substring(count, count + 1);
result += Double.parseDouble(stringResult);
}
System.out.println(result);

最佳答案

其他答案是正确的,您可以使用 java.text.NumberFormat ( JavaDoc ) 格式化您的输出。使用 printf也是格式化的一个选项,类似于NumberFormat .但我在这里看到了别的东西。看起来您混淆了数据类型:在
nq = (long) Math.pow(2l, 1000l);
您已经将 Math 中的双返回值截断为 long。那么你应该使用 long作为数据类型而不是 double为转换。所以使用 Long.toString(long) ,这不会添加任何指数输出。

使用 Long.toString(nq)而不是 Double.toString(nq) ;在你的代码中。

关于java - 任何避免结果包含 "9.223372036854776E18"的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6860312/

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