webForumDet fria alternativet

Mellanslag i tusental

PHPur PHP

7 svar · 476 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Frågan#1

Känner någon till en smidig metod för att få mellanslag på rätt ställen i summor? Alltså t.ex. "53 000" och "4 230 232".

Tack på förhand!

Medlem sedan okt. 2001538 inlägg
#2

Har så lite att göra så jag satte mig och skrev ihop en liten funktion. Jag har testat den, och den verkar fungera, men om någon lite mer erfaren php:are skulle vilja kolla på koden så blir jag glad. Men den funkade iaf. när jag testade. :)

<?php

function formatNumber($num, $delim=" ")
{
    $len = strlen($num);
    if ($len <= 3){
    return $num;
    }
    $loops = $len / 3;

    $numRev = strrev($num);

    for ($i = 0; $i < $loops; $i++)
    {
        $start = $i * 3;
        $arr[] = substr($numRev, $start, 3);
    }

    $output = "";

    foreach ($arr as $str)
    {
        $output .= $str . $delim;
    }

    $output = strrev($output);

    $output = trim($output);
    if (!ereg("[0-9]", $output[0])){
        $output = substr($output, 1);
    }
    return $output;
}

// Bara testnuffror nedan för att kolla om det funkar
// anropa med :
// formatNumber(12345);
$number[] = 1100958;
$number[] = 11100958;
$number[] = 101100958;
$number[] = 10110095858;
$number[] = 5202800;

foreach ($number as $num)
{
    echo($num);
    echo("\n<br />\n");
    echo(formatNumber($num));
    echo("\n<br />\n");
    echo("\n<br />\n");
}

?>

Och använda kod-taggar istf. php-taggar då det bara brukar bråka med backslashes etc.
Hoppas ni klarar er ändå :)

MVH Patrik

/r: Snyggade till koden lite och lade till en extra kontroll.

Medlem sedan aug. 20002 975 inlägg
#3

Varför inte number_format :)

Medlem sedan okt. 2001538 inlägg
#4

För att jag är dum i huvudet ;)
Hehe
MVH Patrik

Medlem sedan juni 2002346 inlägg
#5

hehe jobbigt Patrik81. Man jobbar många timmar och sedan får man reda på att funktionen existerar redan i modulen. BAH! =)

Medlem sedan dec. 2003153 inlägg
#6

Detta här väl indirekt till denna tråd.

I HTML finns det ju möjlighet att i tabeller justera efter ett tecken. Läs mer på W3C. Vågar dock inte uttala mig om stödet för det i läsare.

Medlem sedan apr. 20012 427 inlägg
#7

Perfekt Matte, tackar! Och tack även till Patrik81 för insatsen! :)

Medlem sedan okt. 2001538 inlägg
#8

Hehe jag får trösta mig med att jag åtminstone fick skriva lite kod och tänka lite. Alltid lärde jag väl mig något på det.
Och i slutändan så fick ju Skarre ett svar som var tillfredsställande, och det är ju allt som egentligen betyder något så jag är glad :)

MVH Patrik

139 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)