NumberUtility

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 );
    }
   
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值