首页 > 代码库 > java与js取整数小结

java与js取整数小结

java 取整

  (-)Math类

    1.Math.floor : 返回double值,小于目标值的最大整数。

      例 : String v = "13.5";  Math.floor(Double.parseDouble(v));

         结果 :13.0

         String v = "-13.5";  Math.floor(Double.parseDouble(v));

         结果 :-14.0。

    2.Math.ceil : 返回double值,大于目标值的最小整数。

     例 :String v = "13.5";  Math.ceil(Double.parseDouble(v));

         结果:14.0

       String v = "-13.5";  Math.ceil(Double.parseDouble(v));

         结果:-13.0。

   3.Math.rint:返回double值,四舍五入,但偶数时0.5取相邻偶数

     例 :String v = "13.5";  Math.rint(Double.parseDouble(v));

        结果:14.0

       String v = "14.5";  Math.rint(Double.parseDouble(v));//偶数时小数为0.5

        结果:14.0。

    4.Math.round:四舍五入,但算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整。

     例 :String v = "13.5";  Math.round(Double.parseDouble(v));

        结果:14。

       String v = "-13.5";  Math.round(Double.parseDouble(v));

        结果:-13。//-13.6才是-14

 (二)DecimalFormat类和NumberFormat类

    四舍五入,但偶数时0.5取相邻偶数.

      例 :String v = "13.5";  new DecimalFormat("0").format(Double.parseDouble(v));NumberFormat.getIntegerInstance().format(Double.parseDouble(v));

        结果:14。

       String v = "14.5"; //偶数时小数为0.5

        结果:14。

 

 (三)BigDecimal类(推荐)

    (1)BigDecimal.ROUND_HALF_UP : 四舍五入

      例 :String v = "13.5";  new BigDecimal(v).setScale(0, BigDecimal.ROUND_HALF_UP);

        结果:14。

    (2)BigDecimal.ROUND_UP:舍入远离零的舍入模式

      例 :String v = "13.5";  new BigDecimal(v).setScale(0, BigDecimal.ROUND_UP);

        结果:14。

        String v = "-13.5";  new BigDecimal(v).setScale(0, BigDecimal.ROUND_UP);

        结果:-14。

   (3)BigDecimal.ROUND_DOWN:接近零的舍入模式

      例 :String v = "13.5";  new BigDecimal(v).setScale(0, ROUND_DOWN);

        结果:13。

        String v = "-13.5";  new BigDecimal(v).setScale(0, ROUND_DOWN);

        结果:-13。

   (4)BigDecimal.ROUND_HALF_DOWN:五舍六入

     例 :String v = "13.5";  new BigDecimal(v).setScale(0, ROUND_HALF_DOWN);

        结果:13。

        String v = "13.6";  new BigDecimal(v).setScale(0, ROUND_HALF_DOWN);

        结果:14。

  (5)BigDecimal.ROUND_FLOOR:小于目标值的最大整数

    例 :String v = "13.5";  new BigDecimal(v).setScale(0, ROUND_FLOOR);

      结果:13。

      String v = "-13.5";  new BigDecimal(v).setScale(0, ROUND_FLOOR);

      结果:-14。

 

 

js取整

  1.Math.ceil : 大于目标值的最小整数  Math.ceil(12.5)------>13,-12.5------>-12

  2.Math.floor:小于目标值的最大整数  Math.floor(12.5)------>12,-12.5------>-13

  3.Math.round:四舍五入 Math.round(12.4)------>12,12.5------>13

  4.parseInt:  parseInt(12.5)------>12

      

      

    

java与js取整数小结