Avatar billede leif Seniormester
24. marts 2005 - 08:21 Der er 7 kommentarer og
1 løsning

Mangler .00 efter udregning

Hej,

SQL:
Antal (tinyint 3)
Beløb (Float 10,2)

Beløbet kommer korrekt ud, men efter jeg har ganget Antal med Beløb mangler jeg .00, .x0, dvs. efter udregning fjerner den alle 0.

Hvordan kommer jeg bedst ud af det ? Så jeg sikrer at mine beløb altid er med 2 decimaler ?

Fra
Leif
Avatar billede soreno Praktikant
24. marts 2005 - 08:35 #1
Brug printf.
Eksempel:
<html>
  <head>
    <title>printf test</title>
  </head>
  <body>
    <?
      for($i=1;$i<20;$i++) {
        $num = 20/$i;
        printf("%.2f<br>", $num);
        printf("%f<br><br>", $num);       
      }
    ?>
  </body>
</html>
Avatar billede leif Seniormester
24. marts 2005 - 14:02 #2
Forklaring ?

Hvis tager printf("%.2f<br>", $num) og sætter ind i:
print '<td width=\"\" height=\"1\" align="right">'.printf("%.2f", $total1).'</td>';

Får jeg ikke et tal ud ?
Avatar billede barklund Nybegynder
24. marts 2005 - 14:22 #3
printf printer - den skal du ikke konkatenere. I dit script ovenover kan du dog bare rette printf til sprintf - så virker det.
Avatar billede leif Seniormester
24. marts 2005 - 15:51 #4
Ja, men det er godt det hele ! Næsten !

$total1 = str_replace(".", ",",  $total1);
printf("%.2f", $total1);

Ændrer den ikke fra . til , ?
Avatar billede soreno Praktikant
24. marts 2005 - 16:47 #5
Prøv noget ala:
$temp = sprintf("%.2f", $total1);
$temp = str_replace(".", ",",  $temp);
Avatar billede leif Seniormester
24. marts 2005 - 20:56 #6
Uden held !
Avatar billede soreno Praktikant
24. marts 2005 - 21:07 #7
Dette:
        $total1 = 2/3;
        $temp = sprintf("%.2f", $total1);
        $temp = str_replace(".", ",",  $temp);
        print($temp);

Udskriver:
0,67

Ganske som forventet.
Avatar billede leif Seniormester
24. marts 2005 - 21:21 #8
Jeg havde lige glemt s på sprintf, så virkede det også !
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