17. august 2006 - 09:00
Der er
16 kommentarer og 1 løsning
Regnestykke bruger ikke decimaler.
Hej allesammen. Min kode laver en regnefejl. Min kode er : $lagt1 = ($lagt / 100.00) * $procent; Problemet er at den ikke udskriver i to decimaler. $procent indeholder xx,xx (altså to decimaler). Men når jeg udskriver færdig resultatet er det ikke med to decimaler. Nogen der har nogen ide hvorfor ? På forhånd tak. Rasmus Madsen
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
17. august 2006 - 09:10
#1
Dette burde virke, har ikke testet det. $lagt1 = ($lagt / 100.00) * number_format($procent, 2, '.', ''); Kim
17. august 2006 - 09:11
#2
17. august 2006 - 09:14
#3
Hvordan udskriver du den? printf("%.2f",$lagt1); skulle udskrive med 2 decimaler.
17. august 2006 - 09:27
#4
Kimg --> Det virker desværre ikke :(. Mige--> fordi det skal i database senere.
17. august 2006 - 09:29
#5
number_format($lagt1, 2, '.', '');
17. august 2006 - 09:31
#6
Har lige teste det virker fint $lagt1 = ($lagt / 100.00) * number_format($procent, 2, '.', ''); number_format($lagt1, 2, '.', ''); Og husk at sætte din database til decimaler Kim
17. august 2006 - 09:31
#7
;-) $lagt1 = ($lagt / 100.00) * number_format($procent, 2, '.', ''); echo number_format($lagt1, 2, '.', '');
17. august 2006 - 09:37
#8
Så må det være tidligere det går galt.. Den plusser først nogen tal også gør den det med at gange.
Slettet bruger
17. august 2006 - 09:37
#9
$lagt1 = number_format(($lagt / 100.00) * str_replace($procent, ',', '.'), 2, ',', '.');
17. august 2006 - 09:38
#10
foreach ($sammen as $value) { $value = number_format($value, 2, '.', ''); $lagt = $lagt + $value; $lagt = number_format($lagt, 2, '.', ''); } $lagt1 = ($lagt / 100.00) * number_format($procent, 2, '.', ''); Syntes snart jeg har prøvet det hele.
Slettet bruger
17. august 2006 - 09:39
#11
PHP antager, at kommaet i dit procent-tal er en tusinde seperator, og vil derfor naturligvis ikke "ordne" tallet til engelsk skrivemåde med number_format. Du skal derfor bruge str_replace til at erstatte dit komma med et punktum (engelsk komma), for derefter at bruge number_format på hele din nye streng.
17. august 2006 - 09:41
#12
Wicez. Den giver 0,00. Så decimaler virker men ikke rengestykket.
Slettet bruger
17. august 2006 - 09:41
#13
For at uddybe det lidt mere: $lagt1 = $lagt/100; // Dividerer med 100 $procent = str_replace($procent, ',', '.'); //xx,xx bliver til xx.xx (engelsk version). $lagt1 = $lagt1 * $procent; $lagt1 = number_format($lagt1, 2, ',', '.'); //xx.xx bliver nu udskrevet som xx,xx
Slettet bruger
17. august 2006 - 09:44
#14
$lagt1 = $lagt/100; // Dividerer med 100 $procent = str_replace(',', '.', $procent); //xx,xx bliver til xx.xx (engelsk version). $lagt1 = $lagt1 * $procent; $lagt1 = number_format($lagt1, 2, ',', '.'); //xx.xx bliver nu udskrevet som xx,xx eller $lagt1 = number_format(($lagt / 100.00) * str_replace(',', '.', $procent), 2, ',', '.'); Jeg havde byttet om på parametrene i str_replace
17. august 2006 - 09:44
#15
Ja, det er selvfølgelig korrekt, jeg tog udgangspunkt i at det var punktum ;-) Kim
17. august 2006 - 09:45
#16
takker det virker :D
Slettet bruger
17. august 2006 - 09:52
#17
Selv tak for pointsne. :o)
Vi tilbyder markedets bedste kurser inden for webudvikling