Avatar billede FrederikLive Nybegynder
19. juni 2012 - 10:14 Der er 7 kommentarer og
1 løsning

X gange format_number?

Hej alle!
Jeg er ny her på forummet og vil ligge ud med et spørgsmål omkring format_number som jeg har valgt at bruge da min server har komma som decimal separator og jeg skal printe en faktura ud til engelsk skrivende med punktum som decimal separator.

Det vil sige at mine tal skal se således ud:
£ 3423.59 (ingen tusind separator)

Til dette bruger jeg:
number_format($product_price, 2, '.', ''). Det virker fint.

Men når jeg så skal gange med antal varer, runder number_format ned til hele tal.

Min kode ser således ud:
number_format($product_quantity * $product_price, 2, '.', '');

Nogle der har en bedre måde eller tweak til dette problem. Jeg har kigget på php.net, men kan ikke lige se mig ud af en løsning, selvom flere beskriver problemet, dog ikke præcise løsninger.

Se eventuelt:
http://dk2.php.net/manual/en/function.number-format.php

Tak på forhånd!
Frederik
Avatar billede DeeDawg Nybegynder
19. juni 2012 - 10:48 #1
Velkommen til.

Du kan løse dit problem, ved at ændre dine kommaer til punktummer inden du kører number_format().

$product_price = str_replace(',', '.', $product_prize);
number_format($product_quantity * $product_price, 2, '.', '');

// Eller bare
number_format($product_quantity * str_replace(',', '.', $product_price), 2, '.', '');

Så hvis du kun bruger number_format() til at ændre fra komma til punktum (og intet andet), så ville det nok være bedre bare at bruge str_replace().

Fortsat god dag! :)
Avatar billede olebole Juniormester
19. juni 2012 - 13:59 #2
<ole>

Er der nogen grund til, du ikke ønsker standardformatet for engelske tal, når du skriver engelske priser? Det engelske format ser sådan ud: £ 3,423.59 - med komma som tusindtalsseparator

/mvh
</bole>
Avatar billede olebole Juniormester
19. juni 2012 - 14:01 #3
"da min server har komma som decimal separator" >> Det forstår jeg så ikke helt, da PHP jo bruger punktum som decimalseparator  =)
Avatar billede FrederikLive Nybegynder
19. juni 2012 - 17:27 #4
Det er lidt en omvej fordi det system jeg gøre er lavet til at printe tal ud med det danske 1.000,00 - men jeg skal udskrive dem til det engelske 1,000.00.

Så selvom PHP gør det som jeg vil have det er det nødvendigt at lave en lille hack, da det kun er i det her mindre segment jeg printer en faktura ud til engelske virksomheder og resten ellers virker som det skal.
Avatar billede FrederikLive Nybegynder
19. juni 2012 - 17:27 #5
Det virkede. Tak for hjælpen :)
Avatar billede olebole Juniormester
19. juni 2012 - 17:35 #6
Arrrh ... nu forstår jeg, hvad du mener! Serveren er, som den bør være, sat op til komma som tusindtalsseparator. Jeg læste bare forkert  =)
Avatar billede FrederikLive Nybegynder
04. juli 2012 - 11:40 #7
Af en eller anden grund kunne jeg kun give mig selv point for dette spørgsmål, så de gik altså (lidt ego) til mig selv for at lukke tråden og jeg ikke skulle modtage mails omkring det..

Måske jeg har overset noget? I så fald er i velkommen til at give mig besked.
Avatar billede olebole Juniormester
04. juli 2012 - 12:44 #8
Vi havde blot oprettet vores kommentarer som 'kommentarer'. En kommentar skal være afgivet som 'svar' for at kunne tildeles point. Er et spørgsmål tilfredsstillende besvaret, kan man altid bede en eller flere brugere om at lægge et svar - som så kan belønnes med point.

Det er heller ikke helt let at lande på Eksperten. Der er et lidt pudsigt, historisk betinget, pointsystem. Visse ting kan virke lidt tosset, men der ligger ofte en argumenteret begrundelse bag.

Jeg samler slet ikke point, så mig får du ingen problemer med. DeeDawg er en flink og forstående fyr, og han kan se på dit pointantal, at du er helt ny - så han overlever sikkert også  *o)

Der findes en okay FAQ, som jeg kan anbefale. Og så er der vel bare at sige velkommen på Eksperten  =)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester