lundi 10 août 2015

Scaleable way to write if else range checker

I have a function which takes in a variable then checks the number if the number falls within a range it outputs some text, I am looking for a better way to write it so that I dont have to write millions of lines if the client wants to scale it up in the future - code below:

function scale_filter($scale) {
if($scale <= 949) {
    return $scale . ' kWp';
} elseif($scale >= 950 && $scale <= 1049) {
    return '1.0 MWp';
} elseif($scale >= 1050 && $scale <= 1149) {
    return '1.1 MWp';
} elseif($scale >= 1150 && $scale <= 1249) {
    return '1.2 MWp';
} elseif($scale >= 1250 && $scale <= 1349) {
    return '1.3 MWp';
} elseif($scale >= 1350 && $scale <= 1449) {
    return '1.4 MWp';
} elseif($scale >= 1450 && $scale <= 1549) {
    return '1.5 MWp';
} elseif($scale >= 1550 && $scale <= 1649) {
    return '1.6 MWp';
} elseif($scale >= 1650 && $scale <= 1749) {
    return '1.7 MWp';
} elseif($scale >= 1750 && $scale <= 1849) {
    return '1.8 MWp';
} elseif($scale >= 1850 && $scale <= 1949) {
    return '1.9 MWp';
} elseif($scale >= 1950 && $scale <= 2049) {
    return '2.0 MWp';
} elseif($scale >= 2050 && $scale <= 2149) {
    return '2.1 MWp';
} elseif($scale >= 2150 && $scale <= 2249) {
    return '2.2 MWp';
} elseif($scale >= 2250 && $scale <= 2349) {
    return '2.3 MWp';
} elseif($scale >= 2350 && $scale <= 2449) {
    return '2.4 MWp';
} elseif($scale >= 2450 && $scale <= 2549) {
    return '2.5 MWp';
} elseif($scale >= 2550 && $scale <= 2649) {
    return '2.6 MWp';
} elseif($scale >= 2650 && $scale <= 2749) {
    return '2.7 MWp';
} elseif($scale >= 2750 && $scale <= 2849) {
    return '2.8 MWp';
} elseif($scale >= 2850 && $scale <= 2949) {
    return '2.9 MWp';
} elseif($scale >= 2950 && $scale <= 3049) {
    return '3.0 MWp';
} //.... you get the idea

}

Aucun commentaire:

Enregistrer un commentaire