java编程中float或double类型保留2位/n位小数使用BigDecimal进行处理
Java编程代码如下:
package com.xqlee.common;
import java.math.BigDecimal;
public class NumberUtils {
public static void main(String[] args) {
float f1 = 10.236f;
float f2 = 10.22f;
double d1 = 0.239;
double d2 = 10.33;
System.out.println("float两位:" + floatScale(2, f1));
System.out.println("float一位:" + floatScale(1, f2));
System.out.println("double两位:" + doubleScale(2, d1));
System.out.println("double一位:" + doubleScale(1, d2));
}
/**
* float类型保留n位小数处理
*
* @param len
* 小数位数长度
* @param number
* 值
* @return 返回值
*/
public static float floatScale(int len, float number) {
BigDecimal bigDecimal = new BigDecimal(number);
return bigDecimal.setScale(len, BigDecimal.ROUND_HALF_UP).floatValue();
}
/**
* double类型保留n位小数处理
*
* @param len
* 小数位数长度
* @param number
* 值
* @return 返回值
*/
public static double doubleScale(int len, double number) {
BigDecimal bigDecimal = new BigDecimal(number);
return bigDecimal.setScale(len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
http://blog.xqlee.com/article/100.html