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;
}
}

上一篇:一篇文章看懂mysql中varchar能存多少汉字、数字,以及varchar(100)和varchar(10)的区别


下一篇:java 关于数字取小数点后两位出现整数0没有的问题