package com.hanchao.test;

import org.apache.commons.lang.math.NumberUtils;


/**
 * @author liweihan (liweihan@sohu-inc.com)
 * @version 1.0 (2016年1月14日 下午2:11:34)
 */
public class NumberUtilsTest {
	
	public static void main(String[] args) {
		
		/**
		 * 1.NumberUtils.isNumber():判断字符串是否是数字
		 * */
		System.out.println(NumberUtils.isNumber("5.96"));//true
		System.out.println(NumberUtils.isNumber("s5")); //false
		System.out.println(NumberUtils.isNumber("0000234"));//true
		
		/**
		 * 2..NumberUtils.isDigits():判断字符串中是否全为数字
		 */
		System.out.println(NumberUtils.isDigits("0.2348"));//false
		System.out.println(NumberUtils.isDigits("000000.2348"));//false
		System.out.println(NumberUtils.isDigits("0000234"));//true
		
		/**
		 * 3..NumberUtils.toInt():字符串转换为整数
		 */
		System.out.println(NumberUtils.toDouble("6"));//6.0
		System.out.println(NumberUtils.toDouble("", 8d));//8.0
		System.out.println(NumberUtils.toDouble("s", 9d));//9.0
		
		System.out.println(NumberUtils.toInt("2"));//2
		System.out.println(NumberUtils.toInt("", 1));//1
		System.out.println(NumberUtils.toInt("noInt", 3));//3
		
		System.out.println(NumberUtils.toFloat("3"));//3.0
		System.out.println(NumberUtils.toFloat("", 4f));//4.0
		System.out.println(NumberUtils.toFloat("no",4f));//4.0
		
		System.out.println(NumberUtils.toLong("5"));//5
		System.out.println(NumberUtils.toLong("",5L));//5
		System.out.println(NumberUtils.toLong("ss", 5l));//5
		
		/**
		 * 4.NumberUtils.max():找出最大的一个
		 */
		System.out.println(NumberUtils.max(new int[]{3,5,7,9})); //9
		System.out.println(NumberUtils.max(new float[]{2f,3f,5f,6f}));//6.0
		System.out.println(NumberUtils.max(3d,1d,7d));//7.0
		
		/**
		 * 5.NumberUtils.min():找出最小的一个
		 */
		System.out.println(NumberUtils.min(new int[]{3,5,7,9})); //3
		System.out.println(NumberUtils.min(new float[]{2f,3f,5f,6f}));//2.0
		System.out.println(NumberUtils.min(3d,1d,7d));//1.0
		
		/**
		 * 6.NumberUtils.createBigDecimal()通过字符串创建BigDecimal类型,支持long、int、float、double、number等数值
		 */
		System.out.println(NumberUtils.createBigDecimal("1"));//1
		System.out.println(NumberUtils.createDouble("1"));//1.0
		System.out.println(NumberUtils.createLong("1"));//1
		System.out.println(NumberUtils.createBigInteger("1"));//1
		System.out.println(NumberUtils.createFloat("1"));//1.0
	}

}