狼谷吊戏与临也:java中保留小数问题!!!
来源:百度文库 编辑:高校问答 时间:2024/04/24 18:25:40
有一个double型数字12.3659963
我想要12.37
怎么做呢
我想要12.37
怎么做呢
double i = 12.3659963; //设数值
int j = (int)Math.round(i * 100); //小数点后两位前移,并四舍五入
double k = (double)j / 100.00; //还原小数点后两位
double i=12.3659963;
//取两位小数
int j=(int)(i*100+0.5);
//把小数点后两位移动到个位,然后+0.5舍去小数
double k=(double)(i/100);
//重新移动到两位以后
+0.5再舍去小数就可以当作四舍五入
你可以调用 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( );
}
}