不带格式的 Java 双精度到字符串转换

2022-09-01 10:25:36

我有654987号码。它是数据库中的 ID。我想将其转换为字符串。常规的 Double.ToString(值) 使其成为科学形式,6.54987E5。我不想要的东西。

Ive found的其他格式化函数检查当前区域设置并添加适当的千位分隔符等。由于它是一个ID,我根本不能接受任何格式。

怎么办?

[编辑]澄清一下:我正在开发一个特殊的数据库,该数据库将所有数字列视为双精度值。Double 是我可以从数据库中检索到的唯一(数字)类型。


答案 1

使用固定的数字格式(特别是十进制格式):

double value = getValue();
String str = new DecimalFormat("#").format(value);

或者简单地转换为(或者如果值的范围太大):intlong

String str = String.valueOf((long) value);

但话又说回来:为什么首先在变量中有一个整数值(即“整数”)?double


答案 2

使用时间长:

long id = 654987;
String str = Long.toString(id);