在PHP中输入int to String?

时间:2011-12-02 17:29:04

标签: php casting

  

可能重复:
  How to prefix a positive number with plus sign in PHP

我的代码与此相似

$points = -2;
$points = +2;

我想将它们显示为包含 - 或+的字符串。这适用于 - 但不适用于+

我试过这个试图获得正号

echo (string)$points;

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

省略正号,因为如果数字不是负数,则为正数。

你必须使用各种功能:

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);
}

答案 1 :(得分:1)

正如Kerrek所说,你可以使用printf,或者你可以使用三元语句:

echo ($points > 0 ? '+' . $points : $points);

使用printf,那就是:printf('%+d', $points);
使用printf意味着您还可以指定指定的宽度和小数位数,如果您尝试获取特定的格式,这可能会派上用场。

答案 2 :(得分:0)

您可以使用以下内容:

printf('%+d', $points);

有关详细说明,请参阅示例HERE