您的位置:首页 > 编程语言 > Java开发

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

2011-04-19 21:48 344 查看
一个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( );

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: