Java BigInteger Parse getBigInteger(Number number)

Here you can find the source of getBigInteger(Number number)

Description

get Big Integer

License

Apache License

Declaration

public static BigInteger getBigInteger(Number number) 

Method Source Code


//package com.java2s;
/*//from  www . jav  a2  s.c  o m
 * Copyright 2008-2010 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.math.BigDecimal;
import java.math.BigInteger;

public class Main {
    public static BigInteger getBigInteger(Number number) {
        BigInteger bigInteger = null;
        if (isByteShortIntegerOrLong(number)) {
            bigInteger = BigInteger.valueOf(number.longValue());
        } else if (isFloatOrDouble(number)) {
            bigInteger = new BigDecimal(number.doubleValue()).toBigInteger();
        } else if (number instanceof BigInteger) {
            bigInteger = (BigInteger) number;
        } else if (number instanceof BigDecimal) {
            bigInteger = ((BigDecimal) number).toBigInteger();
        } else {
            // not a standard number
            bigInteger = new BigDecimal(number.doubleValue()).toBigInteger();
        }
        return bigInteger;
    }

    public static boolean isByteShortIntegerOrLong(Number number) {
        return (number instanceof Byte || number instanceof Short || number instanceof Integer
                || number instanceof Long);
    }

    public static boolean isFloatOrDouble(Number number) {
        return (number instanceof Float || number instanceof Double);
    }
}

Related

  1. getBigInteger(byte[] payload, int offset, int length)
  2. getBigInteger(Console console, Function validator)
  3. getBigInteger(Number value)
  4. getBigInteger(String value)
  5. getBigIntegerArrayFromByteArray(byte[] buf)
  6. getBigIntegerValue(final Integer value)