java中double转String如何去掉整数结尾的小数位“.0“

可以使用Java中的DecimalFormat类,设置格式化模式来实现将double转为String,去掉整数结尾的小数位.0。

以下是示例代码:

double d = 1234.0;
DecimalFormat df = new DecimalFormat("0.##");
String s = df.format(d);
System.out.println(s);

输出结果为:1234

在格式化模式中,使用“##”表示保留小数点后2位有效数字,如果该数字位不存在,则不会在结果中显示。因此,当double值的小数部分为0时,格式化后的字符串中将不会包含小数点和小数部分的0。同时,整数部分也不会有千位分隔符。

如果需要硬性保留指定的小数位数,可以在格式化模式中使用0占位符,例如:

double d = 1234.567;
DecimalFormat df = new DecimalFormat("0.00");
String s = df.format(d);
System.out.println(s);

输出结果为: 1234.57

在格式化模式中,使用“0”表示必须存在的数字位,如果该数字位不存在,则在结果中显示为0。因此,上述代码中的格式化模式“0.00”表示保留2位小数,不足2位的小数部分将用0补齐。 

double priceDouble = new Double(2600);
System.out.println(priceDouble/100);
double d1 = 1234.0;
double d2 = 1234.1;
double d3 = 1234.12;
double d4 = 1234.123;
double d5 = 1234.126;
DecimalFormat df = new DecimalFormat("0.##");
String s1 = df.format(d1);
String s2 = df.format(d2);
String s3 = df.format(d3);
String s4 = df.format(d4);
String s5 = df.format(d5);
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
System.out.println(s4);
System.out.println(s5); 

输出结果为:

26.0
1234
1234.1
1234.12
1234.12
1234.13

你可能感兴趣的:(java,开发语言)