在PHP中键入cast Int to String


Type cast Int to String in PHP?

可能重复:
如何在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了解更多解释。