0

在 php 中,我显示一个数字,如果它是负数,我将其设为红色,否则为绿色:

if ($daysAhead>=0) $class = "ahead";
else $class = "behind";
echo "<span class=\"$class\">$daysAhead</span>";

我有一个显示为绿色的数字,它打印为-0.

为什么显示负号?为什么 -0>=0 评估为真?

4

1 回答 1

1

我找到了一个讨论负零概念的网页:

http://hype-free.blogspot.com/2008/12/negative-zero-what-is-it.htmlhttp://en.wikipedia.org/wiki/%E2%88%920_(number)

原来我正在将数字四舍五入到最接近的小数。.009四舍五入也是如此,.0但它也是负数。

它也出现在 php 中floatval(-0.0)==0

这促使我编写了一些非常奇特的代码:

if ($daysAhead==0){  
    $daysAhead=0;
}
if ($daysAhead>=0) $class = "ahead";
else $class = "behind";
于 2013-10-03T16:17:36.590 回答