java double保留两位小数以及去掉科学计数法中的E

转自https://blog.csdn.net/guo_love_peng/article/details/7739455
转自https://blog.csdn.net/qq_15058425/article/details/78257474

java保留两位小数问题:
 
方式一:
 
四舍五入  
double   f   =   111231.5585;  
BigDecimal   b   =   new   BigDecimal(f);  
double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();  
保留两位小数  
---------------------------------------------------------------  
 
方式二:
 
java.text.DecimalFormat   df   =new   java.text.DecimalFormat("#.00");  
df.format(你要格式化的数字);
 
例:new java.text.DecimalFormat("#.00").format(3.1415926)
 
#.00 表示两位小数 #.0000四位小数 以此类推...

方式三:
NumberFormat ddf1=NumberFormat.getNumberInstance() ;
 
void setMaximumFractionDigits(int digits) 
digits 显示的数字位数 
为格式化对象设定小数点后的显示的最多位,显示的最后位是舍入的
import java.text.* ; 
import java.math.* ; 
class TT 
{ 
public static void main(String args[]) 
{ double x=23.5455; 
NumberFormat ddf1=NumberFormat.getNumberInstance() ; 
ddf1.setMaximumFractionDigits(2); 
String s= ddf1.format(x) ; 
System.out.print(s); 
} 
}
// 掉科学计数法中的E
double num=123456789456.12;
BigDecimal bg=new BigDecimal(num+""); 

你可能感兴趣的:(java)