快速添加+到正字符串[PHP]

时间:2010-01-05 12:34:17

标签: php integer

Hay all,是否有一个PHP函数可以在正字符串中添加“+”?

function(4) // returns +4
function(1.0) // returns +1.0
function(-1) // returns -1
function(0) // returns +0

由于

编辑:想要获取并返回字符串。

5 个答案:

答案 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

快速参考:http://www.php.net/sprintf

答案 3 :(得分:0)

sprintf的PHP语言参考建议将“%+ d”作为正有符号整数的格式说明符。

答案 4 :(得分:-2)

自制功能

function make_positive($int){
    if($int >= 0){
        return "+".$int;
    }else{
        return $int;
    }
}

PHP有自己的吗?

编辑:更改了功能名称。