Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP和Java中的舍入不同的输出_Java_Php_Math_Integer_Rounding - Fatal编程技术网

PHP和Java中的舍入不同的输出

PHP和Java中的舍入不同的输出,java,php,math,integer,rounding,Java,Php,Math,Integer,Rounding,我想在JAVA中生成与PHP相同的输出,但是当除以两个整数时,某些数字在两个整数中生成不同的输出 JAVA代码: class HelloWorld { public static void main(String[] args) { int number1 = 5834985; int number2 = 9; System.out.println(number1 / number2); } } PHP代码: <?php

我想在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


如果第二个数字不断变化,您如何能够在这两个数字上一致地产生相同的输出?

您在java中除以2个整数,结果只返回整数

尝试使用
float
double

您可以使用以下函数

<?php
    $number1 = 5834985;
    $number2 = 8;
    $a = $number1 / $number2;

    echo floor($a);
?>

输出:

648331


代码不是等价的——PHP版本使用舍入,而JAVA版本只使用整数除法。