打印 Java 中的值

Printing the value as it is in Java

我需要将从数据库中获取的任何精确值存储到 csv 中。当我尝试存储 0 时,它在 csv.Although 中存储为 0.0,这无关紧要,客户希望将完全相同的值存储在数据库中。

 double c = Double.valueOf("0");

我在 CSV 中得到 0.0。 另一个限制是我不应该使用任何字符串操作来获取准确的值。
有什么方法可以获得准确的值吗?

你在这里使用 Double 我认为你必须使用 Long ,Double 将存储为 0.0 它的自然行为

Is there any way where I can get the exact values ?

没有 double。像十进制(例如 1 / 3)一样,有些数字在不损失浮点精度的情况下无法表示(这就是为什么 0.1+0.2 is 0.30000000000000004). That being said BigDecinal has stripTrailingZeros().

您可以简单地这样做:d % 1 == 0 看看某个双 d 是否完整。

如果是,你会 Integer.valueOf(number)

否则按原样存储