Avatar billede anddk Praktikant
18. april 2007 - 21:33 Der er 14 kommentarer og
1 løsning

Min omregninger virkere ikke

Nu har jeg bare bøvlet med det har problem i lang tid. Nedeståene give bare en blank side:

<?
$belob = 96.00;
$tusindtalsep = ".";
$decimalsep = ",";
$numberOfDecimals = 2;
echo number_format($belob,$numberOfDecimals,$decimalsep,$tusindtalsep);
?>

Mit problem er at jeg har et beløb der står som f.eks 96.00 og skal være 96,00 eller 1.96.00 og skal være 196,00. Det har jeg så forsøgt at lave om med overstående kode men det køre ikke rigtig.

Nogen der kan hjælpe ?
Avatar billede erikjacobsen Ekspert
18. april 2007 - 22:26 #1
Din kode er det eneste på siden: http://n0p.com/774030.php og den viser et fornuftigt resultat. Har du anden kode på siden? Og har du fejlvisning slået fra?
Avatar billede anddk Praktikant
26. april 2007 - 21:39 #2
Så har jeg prøvet det og jeg får bare en blank side:

Før brugte jeg denne kode, her er problemer bare at når der er 1.000 talsseperator med så fungere omregningen ikke:

        <?if($saAdress["order_type"]=="Kreditkort")
        {
$nTotalSumNet = number_format($nTotalSumNet, 2, ',' ,'.');
            echo "<form action='https://www.freepay.dk/ui/pages/external/relay.aspx/3333701/?nCustomerID=$nCustomerID&VID=$VID&orderid=$saOrderNumber&amount=$nTotalSumNet' method='post'>";
        }


Min nye kode som jeg tror omregningen skal være men som ikke virkere:

        <?if($saAdress["order_type"]=="Kreditkort")
        {
$belob = $nTotalSumNet
$tusindtalsep = ".";
$decimalsep = ",";
$numberOfDecimals = 2;
$nTotalSumNet = number_format($belob,$numberOfDecimals,$decimalsep,$tusindtalsep);
            echo "<form action='https://www.freepay.dk/ui/pages/external/relay.aspx/3333701/?nCustomerID=$nCustomerID&VID=$VID&orderid=$saOrderNumber&amount=$nTotalSumNet' method='post'>";
        }
Avatar billede erikjacobsen Ekspert
27. april 2007 - 07:07 #3
Virker ikke på hvilken måde?  I den nederste du viser, mangler der et semikolon.
Avatar billede anddk Praktikant
29. april 2007 - 17:04 #4
Åhja, det var jo der problemet var. Have jeg ikke opdaget.

Nu skal jeg have beløbet i øre. Hvordan klar man det med number_format ? Kan jeg ikke helt gemmenskue.

number_format($belob,$numberOfDecimals,$decimalsep,$tusindtalsep);
Avatar billede erikjacobsen Ekspert
29. april 2007 - 17:33 #5
Beløbet i ører.  Kr. 17.999,55  =  1.799.955 ører ??
Avatar billede anddk Praktikant
29. april 2007 - 17:40 #6
Jeg skal have det til at så som 1799955

F.eks:
96,00 som 9600
1.950,00 som 195000
Avatar billede erikjacobsen Ekspert
29. april 2007 - 19:35 #7
Kan du ikke bare noget i retning af:

      function p($d) {
        print (int)($d*100)."<br>";
      }

      p(123);
      p(123.01);
      p(123.33);
      p(123.75);
      p(123.99);
Avatar billede anddk Praktikant
06. maj 2007 - 17:27 #8
Jeg er godt nok ikke skrap til det her. Er ikke helt sikker på hvad jeg har gang i. Jeg bruger nedstående omregning og den virkere fint op til 999 kommer beløbet over 1000 skal jeg have fjernt 1000-tals seperatoren og det dripper mig godt nok. Kan man ikke fjerne den på en nem måde ?

$nTotalSumNet = number_format($nTotalSumNet, 2, ',' ,'.');
Avatar billede anddk Praktikant
06. maj 2007 - 17:43 #9
Kunne man ikke lavet et eller andet simpelt der fjernere alle . og , og ganger det hele med 100. Så må jeg jo have beløbet i øre som det skal være til min dankortudbyder.
Avatar billede erikjacobsen Ekspert
06. maj 2007 - 19:16 #10
"fjernet 1000-tals seperatoren" ?? Den skal vel aldrig fjernes.

1) Du skal kun bruge number_format i det øjeblik, du skal skrive noget ud, som brugeren skal læse.
2) Du skal bare regne de almindelige kommatal, når de skal lægges sammen, ganges, etc.
Avatar billede anddk Praktikant
10. maj 2007 - 14:20 #11
Jo, den skal fjernes. I hele shoppen er det fint nok som det fungere. Problemet er min dankortudbyder, de har lavet om i den måde de modtager beløbet på. Nu skal det være i øre uden komma eller punktum. Så derfor skal jeg have det jeg sender til dem lavet om.
Avatar billede erikjacobsen Ekspert
10. maj 2007 - 15:20 #12
Men du skal ikke fjerne det fra "1.232.231,75" - det format skriver du på skærmen til kunden, ikke andre steder. Internt har du stadig en variabel: $belob=1232231.75; som du regner på. Den kan du gange med 100 og sende videre i systemet.
Avatar billede anddk Praktikant
13. august 2007 - 18:05 #13
Har fået det til at køre så vi må heller få lukket.

Poster du et svar.
Avatar billede erikjacobsen Ekspert
13. august 2007 - 19:04 #14
Ingen point til mig, tak.
Avatar billede anddk Praktikant
13. august 2007 - 21:00 #15
Okay, men jeg siger tak for dine indlæg.
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