什么样的舍入是`Math.round(arg)`?用什么确切的术语来描述这种舍入方式?

时间:2018-03-23 13:01:55

标签: java rounding

Math.round(arg)是什么样的舍入?

它没有完全/完全融入任何RoundingMode常量。但这个问题与RoundingMode常量无关。它是关于如何完成舍入和完成的所有主要方法(最广泛使用的实践)。

那么维基百科类别完全适用于什么?用什么确切的术语来描述这种舍入方式?

All kinds of rounding (wiki)

这个问题与What RoundingMode constant works 100% like Math.round?不同,因为这个问题是关于一般接受Math.round()方法的数学名称(例如维基百科定义它),虽然提出的问题只是关于 RoundingMode类中的特定常数

2 个答案:

答案 0 :(得分:3)

official documentation中找到:

  

公共静态长轮(双a)

     

返回与参数最接近的长度,并将关系向上舍入。

     

特殊情况:

     
      
  • 如果参数为NaN,则结果为0.
  •   
  • 如果参数为负无穷大或任何小于或等于Long.MIN_VALUE值的值,则结果等于该值   of Long.MIN_VALUE。
  •   
  • 如果参数为正无穷大或任何大于或等于Long.MAX_VALUE值的值,则结果等于该值   Long.MAX_VALUE。
  •   
     

<强>参数:

     

a - 要舍入为long的浮点值。返回:   参数的值四舍五入到最接近的长值。

     

另见:

     

Long.MAX_VALUE,Long.MIN_VALUE

所以要保持简单:它使用RoundingMode.HALF_UP表示正数,RoundingMode.HALF_DOWN表示负数。它总是走向无限。

答案 1 :(得分:0)

如果您对列中的每个值调用Math.round并注意输出,table of rounding modes you linked to中有足够的信息可以解决这个问题。他们在Java REPL

results of rounding on Java REPL

正如您所看到的,这些结果与表格中最近的 Round half up(朝向+∞)列的回合相匹配。