Hızlı bir şekilde olumlu dizeleri eklemek + [PHP]

5 Cevap php

Hay tüm olumlu dizelere "+" ekler bir PHP fonksiyonu var?

yani

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

Teşekkürler

EDIT: dizeleri alıp dönmek istiyor.

5 Cevap

Aşağıdaki ile (ler) printf kullanabilirsiniz:

$number = sprintf('%+f', $number);
// "-0"  => +0.000000
// "1.2" => +1.200000

veya

function fveyamatPositive($number)
{
    return ($number > 0) ? "+$number" : $number;
    // "0"   => "0"
    // "-0"  => "-0"
    // "1.2" => "+1.2"
}

veya

function fveyamatPositive($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";
}
$i = 3;
printf('%+d ', $i);

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

baskılar +3 -3 (ve aynı zamanda sprintf() ile çalışır gerekirse)

sprintf("%+d", 5);    # should give +5
sprintf("%+d", -5);   # should give -5

Hızlı başvuru: http://www.php.net/sprintf

sprintf için PHP dili referans pozitif tamsayılar için imzalanmış bir biçim belirteci olarak "% + d" öneriyor.

Ev yapımı fonksiyonu

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

PHP kendi var mı?

EDIT: işlev adını değiştirdi.