zoukankan      html  css  js  c++  java
  • Java Math.round()函数小结

      Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.6)的结果为-11;floor的英文是地板,该方法就表示向下取整,Math.floor(11.6)的结果是11,Math.floor(-11.4)的结果-12;最难掌握的是round方法,他表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果是12,Math.round(-11.5)的结果为-11.Math.round( )符合这样的规律:小数点后大于5全部加,等于5正数加,小于5全不加。
    让我们看看JDK的说明:  
    (1)public static long round(double a)  
    returns the closest long to the argument. the result is rounded to an integer by adding 1/2, taking the floor of the result, and casting the result to type long. in other words, the result is equal to the value of the expression:    
        
      (long)math.floor(a  +  0.5d)  

    (2)public static double floor(double a)  
      returns the largest(closest to positive infinity) double value that is not greater than the argument and is equal to a mathematical integer.special cases:
      if the argument value is already equal to a mathematical integer, then the result is the same as the argument.    
      if the argument is nan or an infinity or positive zero or negative zero, then the result is the same as the argument.  
        
      parameters:  
      a - a value.    
      returns:  
      the smallest (closest to negative infinity) floating-point value that is not less than the argument and is equal to a mathematical integer.

    //import java.math.*;

    public class RoundTest {

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    // Math.round():Java中的四舍五入函数

    System.out.println("Case1:小数点后第一位 = 5");

    System.out.println("正数:Math.round(11.5) = " + Math.round(11.5));

    System.out.println("负数:Math.round(-11.5) = " + Math.round(-11.5));

    System.out.println("Case2:小数点后第一位 < 5");

    System.out.println("正数:Math.round(11.49) = " + Math.round(11.49));

    System.out.println("负数:Math.round(-11.49) = " + Math.round(-11.49));

    System.out.println("Case3:小数点后第一位 > 5");

    System.out.println("正数:Math.round(11.69) = " + Math.round(11.69));

    System.out.println("负数:Math.round(-11.69) = " + Math.round(-11.69));

    System.out.println("结论:正数小数点后大于5则进位;负数小数点后小于以及等于5都舍去,大于5的则进位");

    System.out.println("也就是说:小数点后大于5全部加,等于5正数加,小于5全不加");

    }

    }

    Parameters
    d the value to be rounded.
    Returns
    • the closest integer to the argument. 
  • 相关阅读:
    设计模式-策略模式
    设计模式-建造者模式
    js助手函数
    Javascript使用函数做命名空间
    腾讯云scf云函数,python依赖安装与上传的正确姿势
    nodejs爬虫,服务器经常返回ECONNRESET或者socket hang up错误的解决方法
    http请求,服务器回复内容为乱码的一种可能解决方法
    js在动态定义的新对象中,属性为变量时,如何动态定义
    nodejs中使用request时出现unable to verify the first certificate的一种解决办法
    Ubuntu偶然出现在待机解锁时,密码输入肯定正确但却无法进入的一种可能性
  • 原文地址:https://www.cnblogs.com/leihupqrst/p/3666256.html
Copyright © 2011-2022 走看看