package edu.hust.imageviewer.util;
/**
* NumberUtilities is an utility tool for handling number <br />
* conversion and comparasion related.
* @author quickpoint
* @version 1.0 2006-05-01
*/
public class NumberUtilities {
/**
* Prevent from instantiation from outer
*/
private NumberUtilities() {
}
/**
* Get Integer from string, default is zero
* @param str string
*/
public static int getInteger( String str ) {
return getInteger( str, 0);
}
/**
* Get Integer from string
* @param str string
* @param def default return value
*/
public static int getInteger( String str, int def ) {
int ret = def;
try {
ret = Integer.parseInt( str );
} catch( NumberFormatException ex ) {
}
return ret;
}
/**
* Get double from string, default is 0.0
* @param str string
*/
public static double getDouble( String str ) {
return getDouble( str, 0.0d);
}
/**
* Get double from string
* @param str string
* @param def default return value
*/
public static double getDouble( String str, double def) {
double ret = def;
try {
ret = Double.parseDouble ( str );
} catch ( NumberFormatException ex ) {
}
return ret;
}
/**
* Round up double
* @param db double value
* @return floor return integer
*/
public static int round( double db ) {
return isGreater( db, 0.0) ? ( int ) (db + 0.5) :
( int ) (db - 0.5);
}
/**
* Get string from integer
* @param i integer value
*/
public static String getStringFromInteger( int i ) {
return new Integer(i).toString ();
}
/**
* Get string from double
* @param db double value
*/
public static String getStringFromDouble( double db ) {
return new Double( db).toString ();
}
/********************************************************
* Double compare library
********************************************************/
// double epision to zero
// This is a quite small value
// You can decide the value in accord with your precision
public static final double EPISION = 1e- 5;
/**
* Is db1 equal to db2?
* @param db1 double 1
* @param db2 double 2
* @return true if equal,else return false
*/
public static boolean isEqual( double db1, double db2 ) {
return ( db1 - db2 < EPISION && db2 - db1 < EPISION );
}
/**
* Is db1 not euqals to db2?
* @param db1 double 1
* @param db2 dobule 2
* @return true if not equal, else return false
*/
public static boolean isNotEqual( double db1, double db2 ) {
return ( db1 - db2 > EPISION || db2 - db1 > EPISION );
}
/**
* Is db1 smaller than db2?
* @param db1 double 1
* @param db2 dobule 2
* @return true if yes, else return false
*/
public static boolean isSmaller( double db1, double db2 ) {
return ( db2 - db1 > EPISION );
}
/**
* Is db1 greater than db2?
* @param db1 double 1
* @param db2 dobule 2
* @return true if yes, else return false
*/
public static boolean isGreater( double db1, double db2 ) {
return ( db1 - db2 > EPISION );
}
/**
* Is db1 smaller than or equal to db2?
* @param db1 double 1
* @param db2 dobule 2
* @return true if yes, else return false
*/
public static boolean isSmallerEqual( double db1, double db2 ) {
return ( db1 - db2 < EPISION );
}
/**
* Is db1 greater than or equal to db2?
* @param db1 double 1
* @param db2 dobule 2
* @return true if yes, else return false
*/
public static boolean isGreaterEqual( double db1, double db2 ) {
return ( db2 - db1 < EPISION );
}
}
/**
* NumberUtilities is an utility tool for handling number <br />
* conversion and comparasion related.
* @author quickpoint
* @version 1.0 2006-05-01
*/
public class NumberUtilities {
/**
* Prevent from instantiation from outer
*/
private NumberUtilities() {
}
/**
* Get Integer from string, default is zero
* @param str string
*/
public static int getInteger( String str ) {
return getInteger( str, 0);
}
/**
* Get Integer from string
* @param str string
* @param def default return value
*/
public static int getInteger( String str, int def ) {
int ret = def;
try {
ret = Integer.parseInt( str );
} catch( NumberFormatException ex ) {
}
return ret;
}
/**
* Get double from string, default is 0.0
* @param str string
*/
public static double getDouble( String str ) {
return getDouble( str, 0.0d);
}
/**
* Get double from string
* @param str string
* @param def default return value
*/
public static double getDouble( String str, double def) {
double ret = def;
try {
ret = Double.parseDouble ( str );
} catch ( NumberFormatException ex ) {
}
return ret;
}
/**
* Round up double
* @param db double value
* @return floor return integer
*/
public static int round( double db ) {
return isGreater( db, 0.0) ? ( int ) (db + 0.5) :
( int ) (db - 0.5);
}
/**
* Get string from integer
* @param i integer value
*/
public static String getStringFromInteger( int i ) {
return new Integer(i).toString ();
}
/**
* Get string from double
* @param db double value
*/
public static String getStringFromDouble( double db ) {
return new Double( db).toString ();
}
/********************************************************
* Double compare library
********************************************************/
// double epision to zero
// This is a quite small value
// You can decide the value in accord with your precision
public static final double EPISION = 1e- 5;
/**
* Is db1 equal to db2?
* @param db1 double 1
* @param db2 double 2
* @return true if equal,else return false
*/
public static boolean isEqual( double db1, double db2 ) {
return ( db1 - db2 < EPISION && db2 - db1 < EPISION );
}
/**
* Is db1 not euqals to db2?
* @param db1 double 1
* @param db2 dobule 2
* @return true if not equal, else return false
*/
public static boolean isNotEqual( double db1, double db2 ) {
return ( db1 - db2 > EPISION || db2 - db1 > EPISION );
}
/**
* Is db1 smaller than db2?
* @param db1 double 1
* @param db2 dobule 2
* @return true if yes, else return false
*/
public static boolean isSmaller( double db1, double db2 ) {
return ( db2 - db1 > EPISION );
}
/**
* Is db1 greater than db2?
* @param db1 double 1
* @param db2 dobule 2
* @return true if yes, else return false
*/
public static boolean isGreater( double db1, double db2 ) {
return ( db1 - db2 > EPISION );
}
/**
* Is db1 smaller than or equal to db2?
* @param db1 double 1
* @param db2 dobule 2
* @return true if yes, else return false
*/
public static boolean isSmallerEqual( double db1, double db2 ) {
return ( db1 - db2 < EPISION );
}
/**
* Is db1 greater than or equal to db2?
* @param db1 double 1
* @param db2 dobule 2
* @return true if yes, else return false
*/
public static boolean isGreaterEqual( double db1, double db2 ) {
return ( db2 - db1 < EPISION );
}
}