01. juni 2007 - 16:27Der er
8 kommentarer og 1 løsning
Formatering af tal
Hej
Jeg er ret ny i php men har et lille problem.
Hvis jeg har et tal som følger : 0.0012345 Er der en måde at formatere tallet på, så det bliver til 1.23E3 altså så jeg kan få "videnskablig" formatering med 2 eller 3 decimaler.
Nu er der helt sikkert også nemmere måder, men jeg tænkte, det kunne være en sjov udfordring, og da jeg ikke er en haj til PHP, løste jeg det nogenlunde matematisk:
Nu ved jeg, hvorfor den er så fuld af fejl. Det er fordi, jeg bare har gjort det samme som dig jo. 0.0012345 er ikke det samme som 1.23E3, da 1.23E3 er 1234.5 for lige at gøre det lidt mere præcist, og det stemmer jo slet ikke.
Scriptet er godt nok fejlfrit, men jeg kom til at tænke på, at facit kunne stilles bedre op. Hvis n sættes til 940.0000123456, skal den jo ikke være 94000001.23E-5 men 940+1.235E-5. Og så kom jeg også i tanker om, at 9400000 jo også videnskabeligt kan forkortes til 94E5, så jeg tilføjede lige en parameter mere. mtz definerer, som det er heltallet eller decimalerne, som afrundes videnskabeligt. "int" betyder heltal; "dig" betyder decimaltal; "comb" betyder begge to:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.