我试图在负数前加减号,在正数前加号。我正在使用sprintf。
sprintf("%+d",$voteCount)
这是正常的,除了零。我不想在零之前加号。 如何让它显示所有正数的加号,但没有零的符号?
答案 0 :(得分:2)
没有直接的方法来实现这一目标,因为%d只会考虑正面和负面的迹象。
但是,是的,有另外一种方法来实现这一目标,
echo ($voteCount === 0 ? 0 : sprintf("%+d",$voteCount));
这可以解决您的问题。
编辑(由AliveToDie建议):
您可以使用gmp_sign完成相同操作。
以下是它的参考示例。
// positive
echo gmp_sign("500") . "\n";
// negative
echo gmp_sign("-500") . "\n";
// zero
echo gmp_sign("0") . "\n";
同样,你需要在php.ini中启用扩展
extension=php_gmp.so