Oprettet tir. d. 19. juni 2012 kl. 10:14:45

FrederikLive
FrederikLive (1.950 point. Point ude: 0)

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/ (...)

Tak på forhånd!
Frederik

Skrevet tir. d. 19. juni 2012 kl. 10:48:18| #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! :)

Skrevet tir. d. 19. juni 2012 kl. 13:59:16| #2

olebole
olebole (216.733 point)
<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>

Skrevet tir. d. 19. juni 2012 kl. 14:01:26| #3

olebole
olebole (216.733 point)
"da min server har komma som decimal separator" >> Det forstår jeg så ikke helt, da PHP jo bruger punktum som decimalseparator  =)

Skrevet tir. d. 19. juni 2012 kl. 17:27:14| #4

FrederikLive
FrederikLive (1.950 point)
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.

Skrevet tir. d. 19. juni 2012 kl. 17:27:46| #5

FrederikLive
FrederikLive (1.950 point)
Det virkede. Tak for hjælpen :)

Skrevet tir. d. 19. juni 2012 kl. 17:35:42| #6

olebole
olebole (216.733 point)
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  =)

Skrevet ons. d. 04. juli 2012 kl. 11:40:47| #7

FrederikLive
FrederikLive (1.950 point)
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.

Skrevet ons. d. 04. juli 2012 kl. 12:44:02| #8

olebole
olebole (216.733 point)
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  =)

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Problemer med random select og cache

Oprettet den 21. maj 2013 kl. 20.43
webweaver giver 100 point for svar | Giv et svar »

DB-baseret dropdown viser selected post to gange...

Oprettet den 21. maj 2013 kl. 15.52
allandk giver 30 point for svar | Giv et svar »

Hente alle poster og gemme i variabel til senere echo

Oprettet den 20. maj 2013 kl. 21.49
allandk giver 30 point for svar | Giv et svar »

Seneste guides

Slettet
Håndtering af tekstoversættelse i...
Parameteriseret tekstformatering i C#
C++ Historie og Programmering - Del 1







Tips & Tricks fra PC World

Teaser billede

Her er seks Google Labs-funktioner, som du skal slå til med det samme

Gmail Labs giver dig adgang til en masse smarte funktioner, som Googles ingeniører leger med i øjeblikket.


Anmeldelser fra PC World

Teaser billede

Test: Samsung Galaxy S4 er et hit - trods gøglertricks

Kan Samsung beholde førertrøjen i det store Android-race? Galaxy S4 er smækfyldt med innovative funktioner, men også med en del gøgl. Er det for meget? Få vores dom over Samsungs nye topmodel.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Tre smarte trick som gør Windows 8 bedre

Boot direkte til skrivebordet, få en strategisk godt placeret luk-knap og slip for at logge ind. Her er tre tips til Windows 8, som gør det nemmere at blive venner med styresystemet.


Nyheder fra Computerworld

Teaser billede

Internet of Things: Derfor vil alt ændre sig nu

Efter at have talt om Internet of Things i årevis, er det nu tid til at udnytte den verden af muligheder, der opstår, når milliarder af enheder kobles trådløst til internettet.


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger