Java BigDecimal deserializeBigDecimalFromString(String decimal)

Here you can find the source of deserializeBigDecimalFromString(String decimal)

Description

Deserialize a Volt fixed precision and scale 16-byte decimal from a String representation

License

Open Source License

Parameter

Parameter Description
decimal <code>String</code> representation of the decimal

Declaration

public static BigDecimal deserializeBigDecimalFromString(String decimal)
        throws IOException 

Method Source Code

//package com.java2s;
/* This file is part of VoltDB.
 * Copyright (C) 2008-2010 VoltDB L.L.C.
 *
 * VoltDB 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./*  w ww . j a  v  a 2  s .com*/
 *
 * VoltDB 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 VoltDB.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.io.IOException;
import java.math.BigDecimal;

public class Main {
    /**
     * Deserialize a Volt fixed precision and scale 16-byte decimal from a String representation
     * @param decimal <code>String</code> representation of the decimal
     */
    public static BigDecimal deserializeBigDecimalFromString(String decimal)
            throws IOException {
        if (decimal == null) {
            return null;
        }
        final BigDecimal bd = new BigDecimal(decimal);
        if (bd.scale() > 12) {
            throw new IOException("Decimal " + bd
                    + " has more then 12 digits of scale");
        }
        if (bd.precision() > 38) {
            throw new RuntimeException("Decimal " + bd
                    + " has more than  38 digits of precision.");
        }
        return bd;
    }
}

Related

  1. createJsonNumber(BigDecimal d)
  2. createReconFileHeader(int totalCount, BigDecimal totalAmount)
  3. cuberoot(BigDecimal b)
  4. currencyFormat(BigDecimal value, char decimalDelimiter)
  5. decimalDigits(BigDecimal d)
  6. exp(BigDecimal power)
  7. exp(BigDecimal x, int scale)
  8. exponentialFormatBigDecimal(BigDecimal bd)
  9. expTaylor(BigDecimal x, int scale)