【发布时间】:2018-03-15 20:54:03
【问题描述】:
在字符串末尾添加双精度值时遇到问题。
代码如下:
String priceString = "The total is £";
double price = 8.64532;
System.out.println(String.format("%.2f", price)); //Correct value
priceString = priceString + price;
System.out.println(priceString); // Incorrect value
我也试过了:
System.out.println(priceString + String.format("%.2f", price)); //Incorrect
第一个打印语句的输出是正确的:
8.64
但是第二个打印语句的输出总是:
0.008.64
我不知道发生了什么或为什么。
** 编辑 ** 我注意到这个网站对初学者非常不利。几个小时以来,我一直在寻找解决方案,但在没有收到我的 Uni 讲师的回复后,我需要在某个地方发帖以获得一些帮助。不是每个人都知道一切,有时初学者需要向您更有经验的开发人员提问。搜索该网站没有提供有用的结果,因此发布了该帖子。
编辑 2 该代码在其他 IDE 中运行良好,因此问题似乎出在我的 IDE 上。我在这里发帖是因为我在任何地方都找不到答案,而且很明显,我更倾向于相信问题出在我身上,而不是 IDE。
【问题讨论】:
-
请take the tour 了解该网站的运作方式以及此处的主题问题,并edit 相应地提出您的问题。另见:How to Debug Small Programs
-
@Joe C 我在这里问是因为我在其他任何地方都找不到答案,而且我是初学者。我从调试器获得的输出对我来说并不总是有意义的。特别是我的大学强制使用的 IDE 中的调试器。我的讲师也是零帮助。
-
如果调试器的输出对您没有意义,那么关于此输出的问题将是一个有效的问题。
-
@Andy Turner 这很奇怪。也许这是我使用的糟糕的 IDE?
标签: java string casting double