Сегодня я работал над PHP проекта и наткнулся на этот код поведенияПытаясь понять такое поведение кодовая
<?php
$x = 5.5;
$y = 0;
echo $z = floor($x * $y * -1);
?>
Это дало выход -0
. Может ли кто-нибудь пролить свет на то, почему это перекликается -0
. Но я ожидал 0
Только при добавлении пола это, похоже, произойдет. Я пробовал то же самое в java.
class Sample {
public static void main(String[] args) {
float x =5.5f;
int y = 0;
System.out.println(Math.floor(x*y*-1));
}
}
Это также печатает -0.0
.
Возможный дубликат [Как может примитивное значение float быть -0,0? Что это значит?] (Http://stackoverflow.com/questions/6724031/how-can-a-primitive-float-value-be-0-0-what-does-that-mean) ... Подсказка для в следующий раз: помимо запуска другого примера на другом языке ... сделайте некоторые предварительные исследования ... например, на этом сайте здесь, чтобы понять, был ли задан этот вопрос раньше. И особенно для всего, что касается «основных» языковых элементов ... шансы ** очень высоки, да, у кого-то была такая же проблема раньше! – GhostCat
'java! = Php' .... –
Из-за' -1'. 'floor (0.0 * -1);' тот же результат. –