没有格式化的Java Double to String转换

Miz*_*zor 29 java string format double

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

我发现的其他格式化函数检查当前的语言环境并添加适当的千位分隔符等.由于它是一个ID,我不能接受任何格式.

怎么做?

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

Joa*_*uer 32

使用固定的NumberFormat(特别是a DecimalFormat):

double value = getValue();
String str = new DecimalFormat("#").format(value);
Run Code Online (Sandbox Code Playgroud)

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

String str = String.valueOf((long) value);
Run Code Online (Sandbox Code Playgroud)

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


alp*_*ero 20

使用长:

long id = 654987;
String str = Long.toString(id);
Run Code Online (Sandbox Code Playgroud)


Ned*_*der 6

如果它是数据库中的整数id,请改用Integer.然后它将格式化为整数.


rsp*_*rsp 6

怎么样 String.valueOf((long)value);