Here you can find the source of toBigDecimal(Number n)
static BigDecimal toBigDecimal(Number n)
//package com.java2s; /*/*from www .j ava2 s . co m*/ * Copyright (C) 2011 Vit <vitalker@gmail.com> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ import java.math.BigDecimal; import java.math.BigInteger; public class Main { static BigDecimal toBigDecimal(Number n) { BigDecimal bd; if (n == null) { throw new IllegalArgumentException("Your number is null"); } else if (n instanceof BigDecimal) { bd = (BigDecimal) n; } else if (n instanceof BigInteger) { bd = new BigDecimal((BigInteger) n); } else if (n instanceof Short || n instanceof Long || n instanceof Integer) { bd = BigDecimal.valueOf(n.longValue()); } else if (n instanceof Float || n instanceof Double) { bd = BigDecimal.valueOf(n.doubleValue()); } else { throw new IllegalArgumentException("Unsupported type:" + n); } return bd; } }