Here you can find the source of toBigDecimal(Object o)
public static BigDecimal toBigDecimal(Object o)
//package com.java2s; /*!/* w ww.j a v a 2 s . c om*/ * mifmi-commons4j * https://github.com/mifmi/mifmi-commons4j * * Copyright (c) 2015 mifmi.org and other contributors * Released under the MIT license * https://opensource.org/licenses/MIT */ import java.math.BigDecimal; import java.math.BigInteger; import java.text.DecimalFormat; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; public class Main { public static BigDecimal toBigDecimal(Object o) { if (o == null) { return null; } BigDecimal bigDecimal; if (o instanceof Byte) { bigDecimal = BigDecimal.valueOf((Byte) o); } else if (o instanceof Short) { bigDecimal = BigDecimal.valueOf((Short) o); } else if (o instanceof Integer) { bigDecimal = BigDecimal.valueOf((Integer) o); } else if (o instanceof Long) { bigDecimal = BigDecimal.valueOf((Long) o); } else if (o instanceof Float) { bigDecimal = BigDecimal.valueOf((Float) o); } else if (o instanceof Double) { bigDecimal = BigDecimal.valueOf((Double) o); } else if (o instanceof BigInteger) { bigDecimal = new BigDecimal((BigInteger) o); } else if (o instanceof BigDecimal) { bigDecimal = (BigDecimal) o; } else if (o instanceof AtomicInteger) { bigDecimal = BigDecimal.valueOf(((AtomicInteger) o).longValue()); } else if (o instanceof AtomicLong) { bigDecimal = BigDecimal.valueOf(((AtomicLong) o).longValue()); } else if (o instanceof Character) { bigDecimal = BigDecimal.valueOf((long) ((Character) o).charValue()); } else { bigDecimal = new BigDecimal(o.toString()); } return bigDecimal; } public static String toString(Number value, String pattern) { if (value == null) { return null; } DecimalFormat df = new DecimalFormat(pattern); return df.format(value); } }