在 php 中,我显示一个数字,如果它是负数,我将其设为红色,否则为绿色:
if ($daysAhead>=0) $class = "ahead";
else $class = "behind";
echo "<span class=\"$class\">$daysAhead</span>";
我有一个显示为绿色的数字,它打印为-0
.
为什么显示负号?为什么 -0>=0 评估为真?
在 php 中,我显示一个数字,如果它是负数,我将其设为红色,否则为绿色:
if ($daysAhead>=0) $class = "ahead";
else $class = "behind";
echo "<span class=\"$class\">$daysAhead</span>";
我有一个显示为绿色的数字,它打印为-0
.
为什么显示负号?为什么 -0>=0 评估为真?
我找到了一个讨论负零概念的网页:
http://hype-free.blogspot.com/2008/12/negative-zero-what-is-it.html 和 http://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";