可能重复:
如何在PHP 中用加号前缀正数
我有类似于这个的代码
$points = -2;
$points = +2;
我想将它们显示为包含-或+的字符串。这适用于-,但不适用于+
我试过这样做,试图得到的积极迹象
echo (string)$points;
有什么想法吗?
省略了正数,因为如果一个数字不是负数,它就是正数。
你必须使用某种功能:
function format_sign($number) {
$number = int($number);
if ($number > 0) {
return "+" . $number;
} else {
return $number;
}
}
你可以这样使用它:
$n = -10;
echo format_sign($n);
不,我撒谎了。sprintf()
似乎是一个更好的解决方案:
function format_sign($number) {
return sprintf("%+d", $number);
}
正如Kerrek所说,您可以使用printf,也可以使用三元语句:
echo ($points > 0 ? '+' . $points : $points);
对于使用printf,它将是:printf('%+d', $points);
使用printf意味着您还可以指定指定的宽度和小数位数,如果您试图获得特定的格式,这可能会很有用。
您可以使用以下操作:
printf('%+d', $points);
请参阅此处的exmaples了解更多解释。