PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kommastellen streichen


DjInsane
15.06.2002, 14:30:08
Bin erst seit kurzer Zeit bei den PHP-lern mit dabei, hab mir vor ein paar Tagen ein Vote-Script geschrieben, des einzige Problem, des ich noch hab ist, dass die Prozent-zahl oft sehr viele Nachkommastellen enthält, kann man diese irgendwie abrunden? Wenn ja, wie?

Nonstop
15.06.2002, 14:44:47
wie siht dein Script denn aus?

Progman
15.06.2002, 16:28:43
number_format(); verwenden
http://de.php.net/number_format

|Coding
15.06.2002, 16:47:40
hi DjInsane,

wenn du nur abrunden willst, versuch es mal mit:


<?
$str = '28,67854';
echo number_format($str, 0);
?>


ausgabe:

28


wenn du aber aufrunden und abrunden machst du das besser so:


$alt = "28,5299999484151515";

$updated = str_replace(",", ".", $alt);
$alt_conv = number_format($updated, 1);
$neu = split("[.]", $alt_conv);
if($neu[1] >= 5)
{
$akt = $neu[0] + 1;
}
else
{
$akt = $neu[0];
}
echo $akt;


ausgabe:

29


im ersten script werden einfach alle nachkommastellen gekillt.

im zweiten hingegen, wird überprüft ob die erste zahl hinter dem komma grösser oder gleich 5 ist. ist dies nicht der fall, wird die Zahl einfach ohne kommastellen ausgegeben (wie beim ersten script), ist aber die erste zahl hinter dem komma grösser oder gleich 5 wird aufgerundet, das heisst die zahl vor dem komma wird um einen zähler erhöht.

BPS (zu script zwei):

23,48403 wird zu 23

23,9874222 wird zu 24


ich hoffe ich konnte weiterhelfen, bei fragen einfach posten.

Matt
17.06.2002, 09:26:08
das ist das schnellste, rundet aber immer nur ab, vielleicht kannst du es trotzdem gebrauchen...

<?
$zahl=3.14159;
$offset=10;
$zahl=((int)($zahl*$offset))/$offset;
print $zahl;
?>


wenn du zwei nachkommastellen haben willst, nimm als $offset 100 an, usw...

---
ok, hab nicht gesehen, dass das bereits beantwortet wurde, aber das Script ist trotzdem schneller bzw. identisch - denk ich mal ;)