⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 strfloat.java

📁 Strfloat的一些基本常识和应用,好好看看了
💻 JAVA
字号:
package Code;
import   java.math.BigDecimal;

public class Strfloat {
	 private   static   final   int   DEF_DIV_SCALE   =   10;   
	    
	    
     //这个类不能实例化   
     private   Strfloat(){   
     }   

 
     /**   
       *   提供精确的加法运算。   
       *   @param   v1   被加数   
       *   @param   v2   加数   
       *   @return   两个参数的和   
       */   

     public   static   float   add(float   v1,float   v2){   
             BigDecimal   b1   =   new   BigDecimal(Float.toString(v1));   
             BigDecimal   b2   =   new   BigDecimal(Float.toString(v2));   
             return   b1.add(b2).floatValue();   
     }   

     /**   
       *   提供精确的减法运算。   
       *   @param   v1   被减数   
       *   @param   v2   减数   
       *   @return   两个参数的差   
       */   

     public   static   float   sub(float   v1,float   v2){   
             BigDecimal   b1   =   new   BigDecimal(Float.toString(v1));   
             BigDecimal   b2   =   new   BigDecimal(Float.toString(v2));   
             return   b1.subtract(b2).floatValue();   
     }     

     /**   
       *   提供精确的乘法运算。   
       *   @param   v1   被乘数   
       *   @param   v2   乘数   
       *   @return   两个参数的积   
       */   

     public   static   float   mul(float   v1,float   v2){   
             BigDecimal   b1   =   new   BigDecimal(Float.toString(v1));   
             BigDecimal   b2   =   new   BigDecimal(Float.toString(v2));   
             return   b1.multiply(b2).floatValue();   
     }   

 

     /**   
       *   提供(相对)精确的除法运算,当发生除不尽的情况时,精确到   
       *   小数点以后10位,以后的数字四舍五入。   
       *   @param   v1   被除数   
       *   @param   v2   除数   
       *   @return   两个参数的商   
       */   

     public   static   float   div(float   v1,float   v2){   
             return   div(v1,v2,DEF_DIV_SCALE);   
     }   

 

     /**   
       *   提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指   
       *   定精度,以后的数字四舍五入。   
       *   @param   v1   被除数   
       *   @param   v2   除数   
       *   @param   scale   表示表示需要精确到小数点以后几位。   
       *   @return   两个参数的商   
       */   

     public   static   float   div(float   v1,float   v2,int   scale){   
             if(scale<0){   
                     throw   new   IllegalArgumentException(   
                             "The   scale   must   be   a   positive   integer   or   zero");   
             }   
             BigDecimal   b1   =   new   BigDecimal(Float.toString(v1));   
             BigDecimal   b2   =   new   BigDecimal(Float.toString(v2));   
             return   b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).floatValue();   
     }   

 

     /**   
       *   提供精确的小数位四舍五入处理。   
       *   @param   v   需要四舍五入的数字   
       *   @param   scale   小数点后保留几位   
       *   @return   四舍五入后的结果   
       */   

     public   static   float   round(float   v,int   scale){   
             if(scale<0){   
                     throw   new   IllegalArgumentException(   
                             "The   scale   must   be   a   positive   integer   or   zero");   
             }   
             BigDecimal   b   =   new   BigDecimal(Double.toString(v));   
             BigDecimal   one   =   new   BigDecimal("1");   
             return   b.divide(one,scale,BigDecimal.ROUND_HALF_UP).floatValue();   
     }   

	

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -