java中保留两位小数方法(转载)

    技术2022-05-19  23

    一个double型数字12.3659963 我想要12.37 怎么做呢 方法1 double i = 12.3659963; //设数值 int j = (int)Math.round(i * 100); //小数点后两位前移,并四舍五入 double k = (double)j / 100.00; //还原小数点后两位 方法2 double i=12.3659963; //取两位小数 int j=(int)(i*100+0.5); //把小数点后两位移动到个位,然后+0.5舍去小数 double k=(double)(i/100); //重新移动到两位以后 +0.5再舍去小数就可以当作四舍五入 方法3 你可以调用 java.text.DecimalFormat 或者 java.math.BigDecimal 这两个类的方法。 下面的代码里 d1 和 d2 都将等于 12.37 。 import java.text.DecimalFormat; import java.math.BigDecimal; class c { public static void main( String[] args ) { double d = 12.3659963, d1 = new Double( new DecimalFormat( ".00" ).format( d ) ), d2 = new BigDecimal( d ).setScale( 2, BigDecimal.ROUND_HALF_UP ).doubleValue( ); } }

    最新回复(0)