Seite 1 von 1

Zahl mit PHP dreistellig formatieren

Verfasst: 24.01.2010, 21:53
von Garfield
Hallo PHP-Götter :P

Ich verzweifle seit Stunden darüber, eine Lösung zu finden, wie man aus der Zahl:

14506743

folgendes macht:

14.506.743

und zwar per PHP-Anweisung. Vielleicht suche ich auch einfach nur falsch? Auf jeden Fall finde ich die Lösung nicht :o

HIIIIIIIIILFE bitte :D

Verfasst:
von

Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Verfasst: 24.01.2010, 22:14
von bloddy newbie

Verfasst: 24.01.2010, 22:27
von Garfield
Werde ich gleich morgen testen, danke! (jetzt Feierabend :wink:)

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Re: Zahl mit PHP dreistellig formatieren

Verfasst: 25.01.2010, 00:23
von 800XE
Garfield hat geschrieben:Hallo PHP-Götter :P

Ich verzweifle seit Stunden darüber, eine Lösung zu finden, wie man aus der Zahl:

14506743

folgendes macht:

14.506.743

und zwar per PHP-Anweisung. Vielleicht suche ich auch einfach nur falsch? Auf jeden Fall finde ich die Lösung nicht :o

HIIIIIIIIILFE bitte :D

Code: Alles auswählen

$zahl = 14506743 ;
function besserlasbareZahl( $zahl )
{
  $zahl2=''; $x=0;
  $len = strlen( $zahl );
  while ( $len-- )
  {
    $zahl2 = substr( $zahl, $len, 1) . $zahl2;
    if ( ++$x==3 && $len ) 
    {  
      $zahl2 = '.' . $zahl2; $x=0;
    }
  }
  return( $zahl2 );
}

echo( besserlasbareZahl( $zahl ) );
eleganter wäre
string strrev ( string $string )
am Anfang und dann den Neuen STring nur "hinten" anhängen, statt dauernd vorne was einzuschieben
Dazu müßte man aber erstmal ermitteln wieviele Stellen links vor dem ersten "." kommen ....
... aber, geht doch ... elegant und ohne "Vorberechnung"

Code: Alles auswählen

function besserlasbareZahl( $zahl )
{
  $zahl2=''; $x=0;
  $len = strlen( $zahl );
  while ( $len-- )
  {
    $zahl2 .= substr( $zahl, $len, 1);
    if ( ++$x==3 && $len ) 
    {  
      $zahl2 .= '.'; $x=0;
    }
  }
  return( strrev($zahl2) );
}
Aber, nocheleganter ist, wenn du einfach den Befehl nimmst den es schon gibt
(der ärgert mich immer, weil ich vergesse das da noch ein "round" Parameter drin steckt

echo ( number_format( $zahl, '.' , '.' ) );
= ERROR
Kopf an die Wand ....
echo ( number_format( $zahl, 0, '.' , '.' ) );

Verfasst: 25.01.2010, 09:08
von HaraldHil
$zahl= number_format($zahl,0,",",".");