[ create a new paste ] login | about

Link: http://codepad.org/kv19ZKRz    [ raw code | output | fork ]

PHP, pasted on Dec 18:
<?php
    function formatWithSuffix($input)
    {
        $suffixes = array('', 'k', 'm', 'g', 't');
        $suffixIndex = 0;
    
        while(abs($input) >= 1000 && $suffixIndex < sizeof($suffixes))
        {
            $suffixIndex++;
            $input /= 1000;
        }
    
        return (
            $input > 0
                // precision of 3 decimal places
                ? floor($input * 1000) / 1000
                : ceil($input * 1000) / 1000
            )
            . $suffixes[$suffixIndex];
    }

    echo formatWithSuffix(999)."\n";
    echo formatWithSuffix(1000)."\n";
    echo formatWithSuffix(1999)."\n";
    echo formatWithSuffix(999999)."\n";
    echo formatWithSuffix(1000000)."\n";
    echo formatWithSuffix(1999499)."\n";
    echo formatWithSuffix(1999500)."\n";
    echo formatWithSuffix(1999999)."\n";
    echo formatWithSuffix(2000000)."\n";
    echo formatWithSuffix(999999999)."\n";
    echo formatWithSuffix(1000000000)."\n";
    echo formatWithSuffix(9999999999)."\n";

    echo formatWithSuffix(-999)."\n";
    echo formatWithSuffix(-1000)."\n";
    echo formatWithSuffix(-1999)."\n";
    echo formatWithSuffix(-999999)."\n";
    echo formatWithSuffix(-1000000)."\n";
    echo formatWithSuffix(-1999499)."\n";
    echo formatWithSuffix(-1999500)."\n";
    echo formatWithSuffix(-1999999)."\n";
    echo formatWithSuffix(-2000000)."\n";
    echo formatWithSuffix(-999999999)."\n";
    echo formatWithSuffix(-1000000000)."\n";
    echo formatWithSuffix(-9999999999)."\n";
?>


Output:
999
1k
1.999k
999.999k
1m
1.999m
1.999m
1.999m
2m
999.999m
1g
9.999g
-999
-1k
-1.999k
-999.999k
-1m
-1.999m
-1.999m
-1.999m
-2m
-999.999m
-1g
-9.999g


Create a new paste based on this one


Comments: