java保留两位小数问题:
一:
四舍五入(四舍五入形式保留两位小数,注意模式ROUND_HALF_UP)
double f = 2345.2345;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
二:
double f = 2345.2345;
java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");
df.format(f);
例:new java.text.DecimalFormat("#.00").format(2.1234567)
#.00 表示两位小数 #.0000四位小数 以此类推…
三:
double d = 2.1234567;
String result = String .format("%.2f");
%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
四:
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=2.1234567;
NumberFormat ddf1=NumberFormat.getNumberInstance() ;
ddf1.setMaximumFractionDigits(2);
String s= ddf1.format(x) ;
System.out.print(s);
}
}
二 、BigDecimal 的加减乘除使用
BigDecimal bignum1 = new BigDecimal(“10”);
BigDecimal bignum2 = new BigDecimal(“5”);
BigDecimal bignum3 = null;
//加法
bignum3 = bignum1.add(bignum2);
System.out.println(“和 是:” + bignum3);
//减法
bignum3 = bignum1.subtract(bignum2);
System.out.println(“差 是:” + bignum3);
//乘法
bignum3 = bignum1.multiply(bignum2);
System.out.println(“积 是:” + bignum3);
//除法
bignum3 = bignum1.divide(bignum2);
System.out.println(“商 是:” + bignum3);