Быстрое добавление + к положительным строкам [PHP] - PullRequest
0 голосов
/ 05 января 2010

Hay all, есть ли функция PHP, которая добавляет "+" к положительным строкам?

* 1003 т.е. *

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

Спасибо

РЕДАКТИРОВАТЬ: хочет получить и вернуть строки.

Ответы [ 5 ]

9 голосов
/ 05 января 2010
$i = 3;
printf('%+d ', $i);

$i = -3;
printf('%+d ', $i);

печатает +3 -3 (а также работает с sprintf () при необходимости)

3 голосов
/ 05 января 2010

Вы можете использовать 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";
}
3 голосов
/ 05 января 2010
sprintf("%+d", 5);    # should give +5
sprintf("%+d", -5);   # should give -5

Краткий справочник: http://www.php.net/sprintf

0 голосов
/ 05 января 2010

Ссылка на язык PHP для sprintf предлагает "% + d" в качестве спецификатора формата для целых чисел с положительными знаками.

0 голосов
/ 05 января 2010

Домашняя функция

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

Есть ли у PHP своя собственная?

РЕДАКТИРОВАТЬ: изменение имени функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...