Avatar billede 4u2x Nybegynder
23. oktober 2008 - 17:26 Der er 4 kommentarer og
1 løsning

Regner forkert ved simpel regnestykke

Formlem ser således ud:
($u_7 / $u_8) * (1+$u_renten);

og regner forkert ved følgende stykke:
(978.91121312 / 153,824.72724690) * (1+0.29408146)

(med danske tegn ser stykke således ud):
((978,91121312 / 153824,7272469) * (1+0,29408146))

php giver det her som resultat:
8.27967877

men det rigtige resultat er:
0,00823529

En der kan hjælpe med at finde årsag til dette eller en måde man kan undgå problemet?
Avatar billede showsource Seniormester
23. oktober 2008 - 18:47 #1
du har komma i din division.
Hvad med number_format() på dine vars inden udregning?
Avatar billede 4u2x Nybegynder
23. oktober 2008 - 18:51 #2
php kører med engelske tegnformat, dvs der er byttet om på . og ,  så det kan ikke være der det ligger.
Avatar billede showsource Seniormester
23. oktober 2008 - 18:58 #3
Prøv:

<?php

ini_set('error_reporting', E_ALL);

echo (978.91121312 / 153,824.72724690) * (1+0.29408146);

?>
Avatar billede 4u2x Nybegynder
23. oktober 2008 - 19:28 #4
genialt.. det var åbenbart et problem for php at der var tusind-kr separator tegn.. brugte number_format uden indstillinger mht tegn, det var problemet.

ligger du et svar showsource? :)
Avatar billede showsource Seniormester
23. oktober 2008 - 19:57 #5
Ok
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