【发布时间】:2018-06-03 19:55:04
【问题描述】:
我想在 JAVA 中产生与在 PHP 中相同的输出,但是当两个整数相除时,某些数字会在两者中产生不同的输出。
JAVA代码:
class HelloWorld {
public static void main(String[] args) {
int number1 = 5834985;
int number2 = 9;
System.out.println(number1 / number2);
}
}
PHP 代码:
<?php
$number1 = 5834985;
$number2 = 9;
$a = $number1 / $number2;
echo round($a, 0);
?>
JAVA代码输出:648331
PHP 代码输出:648332
但是,如果您将第二个数字更改为 8,它们会输出:
JAVA代码输出:729373
PHP 代码输出:729373
如果第二个数字不断变化,您如何能够始终如一地产生相同的输出?
【问题讨论】:
-
代码不等价 - PHP 版本使用舍入,而 JAVA 版本只进行整数除法。
标签: java php math integer rounding