java取小数点后两位

时间:2023-03-09 04:07:22
java取小数点后两位

package com.yonyou.sud.algorithm;

import java.math.BigDecimal;
import java.text.DecimalFormat;
/**
* java取小数点后两位小数
* @author Sud
*
*/
public class Decimal62 {
public static void main(String[] args) {
/*
* 第一种方法 java.text.DecimalFormat
*/
DecimalFormat df = new DecimalFormat("#.##");
double d = 3.14159;
System.out.println(df.format(d));
/*
* 第二种方法 java.math.BigDecimal
*/
BigDecimal bd = new BigDecimal("3.14159265");
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println(bd);
/*
* 第三种方法 convert
*/
double ret = convert(3.14159);
System.out.println(ret);
/*
* 第四种方法
*/
double db = 13.4324;
db=((int)(db*100))/100.0; //注意:使用100.0 而不是 100
System.out.println(db);
}

/**
* 第三种法的实现
* @param value
* @return
*/
static double convert(double value){
long l1 = Math.round(value*100); //四舍五入
double ret = l1/100.0; //注意:使用 100.0 而不是 100
return ret;
}
}