Hay all,是否有一个PHP函数可以在正字符串中添加“+”?
即
function(4) // returns +4
function(1.0) // returns +1.0
function(-1) // returns -1
function(0) // returns +0
由于
编辑:想要获取并返回字符串。
答案 0 :(得分:9)
$i = 3;
printf('%+d ', $i);
$i = -3;
printf('%+d ', $i);
打印+3 -3
(如果需要,还可以使用sprintf())
答案 1 :(得分:3)
你可以使用以下的printf:
$number = sprintf('%+f', $number);
// "-0" => +0.000000
// "1.2" => +1.200000
或
function formatPositive($number)
{
return ($number > 0) ? "+$number" : $number;
// "0" => "0"
// "-0" => "-0"
// "1.2" => "+1.2"
}
或
function formatPositive($number)
{
switch(true) {
case !is_numeric($number): // "Beer" => "NaN"
$number = 'NaN';
break;
case $number == 0: // "-0" = "±0"
$number "±0";
break;
case $number > 0: // "1.23" => "+1.23"
$number = "+$number";
break;
default: // "-1.23" => "-1.23"
break;
}
return "$number";
}
答案 2 :(得分:3)
sprintf("%+d", 5); # should give +5
sprintf("%+d", -5); # should give -5
答案 3 :(得分:0)
sprintf的PHP语言参考建议将“%+ d”作为正有符号整数的格式说明符。
答案 4 :(得分:-2)
自制功能
function make_positive($int){
if($int >= 0){
return "+".$int;
}else{
return $int;
}
}
PHP有自己的吗?
编辑:更改了功能名称。