Avatar billede larskarkovmeeder Nybegynder
30. juli 2009 - 15:17 Der er 6 kommentarer og
1 løsning

komma/punktum problemer

Hej folkens

Jeg roder med en side der skal give svar på om det er udfra volume eller udfra vægt at der skal gives en pris.

Siden kan ses her: http://www.meeder.dk/ny

Koden:
$resultat = (($l/100) * ($b/100) * ($h/100)) * 200;
$res_e = number_format($resultat, 2, '.', '');
$resultat2 = (($l/100) * ($b/100) * ($h/100)) * 250;
$res_x = number_format($resultat2, 2, '.', '');

if ($res_x >= $kg && $res_e >= $kg)
{ $stor = 'volume størst exp1';
  $stor2 = 'volume størst eco1';
}

else if ($res_x >= $kg && $res_e < $kg)
{ $stor = 'volume størst exp2';
  $stor2 = 'kg størst eco2';
}

else if ($res_x < $kg && $res_e >= $kg)
{ $stor = 'kg størst exp3';
  $stor2 = 'volume størst eco3';
}

else if ($res_x < $kg && $res_e < $kg)
{ $stor = 'kg størst exp4';
  $stor2 = 'kg størst eco4';
}

Siden fungerer fint så længe der bruges hele tal eller punktum i tallet. F.eks giver den korrekt svar ved en kasse på 20x20x20 der vejer 10/10.0 kg, men ikke ved en kasse på 20x20x20 der vejer 10,0 kg.

Hvad kan jeg gøre for at få det til at virke når man bruger ","?

Håber I kan hjælpe :)
Mvh. Lars
Avatar billede cot Nybegynder
30. juli 2009 - 15:30 #1
jeg ville nok bare bruge str_replace i felter:

str_replace(",",".",$variabel_med_komma);

Skift variabel med komma ud med din variabel ;)
Jeg vil mene det skulle være en nem løsning :)
Avatar billede tjaz Nybegynder
30. juli 2009 - 15:30 #2
Du kan lave en replace på dit input

$vaegt = str_replace(",", ".", $_POST["vaegt"]);
Avatar billede larskarkovmeeder Nybegynder
30. juli 2009 - 15:54 #3
I skal begge have tak for hjælpen. Jeg havde prøvet at rode rundt med str_replace, men uden held. Tjaz løsning ser dog ud til at være den helt rigtige løsning. Hvis du gider smide et svar, så får du dine point.

Tak igen!
Avatar billede tjaz Nybegynder
30. juli 2009 - 16:12 #4
Så lidt :)
Avatar billede olebole Juniormester
30. juli 2009 - 16:14 #5
<ole>

Men husk, at det kun lader sig gøre i meget løst typed (sloppy) sprog. I andre sprog giver det ikke mening at forsøge at bruge en streng variabel som en tal variabel ... end ikke i JavaScript  ;o)

/mvh
</bole>
Avatar billede tjaz Nybegynder
30. juli 2009 - 21:41 #6
Ole,

Uanset om det er PHP eller f.eks. C# så er komma og punktum nødt til at stå rigtigt for at du kan regne med tallet. Så er det vel underordnet om du er nødt til at typecaste et input eller ej for at du kan bruge det til dine beregninger?
Avatar billede olebole Juniormester
31. juli 2009 - 11:05 #7
Ja, naturligvis er punktum og komma nødt til at stå korrekt. Det er der vel ingen, som betvivler  =)

Nej, det er da ikke ligegyldigt, om en stump data er et tal, en boolean eller en streng. Det burde der da heller ikke være nogen, som betvivlede.
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