打印 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)
否则按原样存储
我需要将从数据库中获取的任何精确值存储到 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)
否则按原样存储