java double类型格式

不显示科学记数法

方法一:

Double d = new Double("1234567890.12"); 
System.out.println("d:="+d);              //d:=1.23456789012E9 
java.text.NumberFormat nf = java.text.NumberFormat.getInstance(); nf.setGroupingUsed(false);
System.out.println("d:="+nf.format(d));   //d:=1234567890.12

方法二:

package com.vincent.test;    
import java.math.BigDecimal;    
public class TestBigDecimal_String {      
	public static void main(String[] args) {            
		BigDecimal bigDecimal = new BigDecimal("123456789.123456789");          	
		String result = bigDecimal.toString();          
		System.out.println(result);               	
	}  
}  

不显示其小数点后无用的0

String s = "111.01100";
if(s.indexOf(".") > 0){
  //正则表达
  s = s.replaceAll("0+?$", "");//去掉后面无用的零
  s = s.replaceAll("[.]$", "");//如小数点后面全是零则去掉小数点
}
System.out.println(s);

你可能感兴趣的:(java double类型格式)