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.
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 ;)
vBulletin® v3.8.3, Copyright ©2000-2013, Jelsoft Enterprises Ltd.