lee 1475 0 2017-03-14 21:07:00

文章位置:左搜> 编程技术> 正文
java编程中float或double类型保留2位/n位小数使用BigDecimal进行处理

Java编程代码如下:
package com.leftso.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();
	}
}
运行实例
编程技术 java编程