com.fasterxml.jackson.dataformat.csv.impl
Class NumberInput

java.lang.Object
  extended by com.fasterxml.jackson.dataformat.csv.impl.NumberInput

public final class NumberInput
extends Object


Field Summary
static String NASTY_SMALL_DOUBLE
          Textual representation of a double constant that can cause nasty problems with JDK (see http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308).
 
Constructor Summary
NumberInput()
           
 
Method Summary
static boolean inLongRange(char[] digitChars, int offset, int len, boolean negative)
          Helper method for determining if given String representation of an integral number would fit in 64-bit Java long or not.
static boolean inLongRange(String numberStr, boolean negative)
          Similar to inLongRange(char[],int,int,boolean), but with String argument
static double parseAsDouble(String input, double defaultValue)
           
static int parseAsInt(String input, int defaultValue)
           
static long parseAsLong(String input, long defaultValue)
           
static double parseDouble(String numStr)
           
static int parseInt(char[] digitChars, int offset, int len)
          Fast method for parsing integers that are known to fit into regular 32-bit signed int type.
static int parseInt(String str)
          Helper method to (more) efficiently parse integer numbers from String values.
static long parseLong(char[] digitChars, int offset, int len)
           
static long parseLong(String str)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NASTY_SMALL_DOUBLE

public static final String NASTY_SMALL_DOUBLE
Textual representation of a double constant that can cause nasty problems with JDK (see http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308).

See Also:
Constant Field Values
Constructor Detail

NumberInput

public NumberInput()
Method Detail

parseInt

public static final int parseInt(char[] digitChars,
                                 int offset,
                                 int len)
Fast method for parsing integers that are known to fit into regular 32-bit signed int type. This means that length is between 1 and 9 digits (inclusive)

Note: public to let unit tests call it


parseInt

public static final int parseInt(String str)
Helper method to (more) efficiently parse integer numbers from String values.


parseLong

public static final long parseLong(char[] digitChars,
                                   int offset,
                                   int len)

parseLong

public static final long parseLong(String str)

inLongRange

public static final boolean inLongRange(char[] digitChars,
                                        int offset,
                                        int len,
                                        boolean negative)
Helper method for determining if given String representation of an integral number would fit in 64-bit Java long or not. Note that input String must NOT contain leading minus sign (even if 'negative' is set to true).

Parameters:
negative - Whether original number had a minus sign (which is NOT passed to this method) or not

inLongRange

public static final boolean inLongRange(String numberStr,
                                        boolean negative)
Similar to inLongRange(char[],int,int,boolean), but with String argument

Parameters:
negative - Whether original number had a minus sign (which is NOT passed to this method) or not
Since:
1.5.0

parseAsInt

public static int parseAsInt(String input,
                             int defaultValue)

parseAsLong

public static long parseAsLong(String input,
                               long defaultValue)

parseAsDouble

public static double parseAsDouble(String input,
                                   double defaultValue)

parseDouble

public static final double parseDouble(String numStr)
                                throws NumberFormatException
Throws:
NumberFormatException


Copyright © 2012 fasterxml.com. All Rights Reserved.