Avatar billede mini41 Nybegynder
25. marts 2003 - 16:18 Der er 17 kommentarer og
1 løsning

fejl ved gange

Dette script fejler når jeg skal gange.
Feks. 1 gange 100 = 100...OK

1.5 gange 100 = 100...FEJL
1,5 gange 100 = 100,5...FEJL

Hvad har jeg gjort forkert.

PS: Jeg bruger noget af det samme når jeg adderer, der virker , og . ok.

<SCRIPT LANGUAGE="JavaScript">
<!--
function timetal(form) {
if ((form.reptimer.value == null || form.reptimer.value.length == 0) ||
  (form.timepris.value == null || form.timepris.value.length == 0)) {
  return;
}

var t1 = form.reptimer.value;
var t1_arr = t1.split(",");
var t2 = form.timepris.value;
var t2_arr = t2.split(",");


if ((t1_arr[1] == null) || (t1_arr[1].length == 0)) {
  t1_arr[1] = 0;
}
if ((t2_arr[1] == null) || (t2_arr[1].length == 0)) {
  t2_arr[1] = 0;
}

var kommaTal = parseInt(t1_arr[1]) + parseInt(t2_arr[1]);
if (kommaTal > 100) {
  kommaTal -= 100;
  t1_arr[0] = t1_arr[0] - 0 + 1;
}
kommaTal = kommaTal + '';
if (kommaTal.length == 0) {
kommaTal = "00";
}
if (kommaTal.length == 1) {
kommaTal = "0" + kommaTal;
}
form.reparb.value = parseInt(t1_arr[0]) * parseInt(t2_arr[0])  + "," + kommaTal;

}
//-->
</script>
Avatar billede schaefner Juniormester
25. marts 2003 - 16:22 #1
Mon ikke du kan bruge dette eksempel:
http://activedeveloper.dk/artikler/default.asp?articleid=216

/Jesper Sørensen
Avatar billede erikjacobsen Ekspert
25. marts 2003 - 16:23 #2
Du må ikke skrive 1,5 - men 1.5 vil virke
Avatar billede erikjacobsen Ekspert
25. marts 2003 - 16:25 #3
Og så forstår jeg ikke hvordan du ganger sammen med det
"kommaTal" du har anført. Hvorfor parseInt ?
Avatar billede mini41 Nybegynder
25. marts 2003 - 16:26 #4
Men hvis jeg ganger men feks. 1.5 ganger den KUN med 1
Avatar billede erikjacobsen Ekspert
25. marts 2003 - 16:48 #5
a="1.5";
b="100";
alert(a*b);

Mere skal der ikke til. Jeg forstår ikke dine krumspring
Avatar billede mini41 Nybegynder
25. marts 2003 - 20:23 #6
erikjacobsen:

På en anden side jeg har bruger jeg dette:
Her skal der kun adderes, her er det underordnet om jeg bruger , eler .  ,,,hvorfor?

<!--
function addtal(form) {
if ((form.reparb.value == null || form.reparb.value.length == 0) ||
  (form.reservedel1pris.value == null || form.reservedel1pris.value.length == 0)) {
  return;
}

var t1 = form.reparb.value;
var t1_arr = t1.split(",");
var t2 = form.reservedel1pris.value;
var t2_arr = t2.split(",");
var t3 = form.reservedel2pris.value;
var t3_arr = t3.split(",");
var t4 = form.reservedel3pris.value;
var t4_arr = t4.split(",");
var t5 = form.returforsendelse.value;
var t5_arr = t5.split(",");
var t6 = form.hastegebyrpris.value;
var t6_arr = t6.split(",");


if ((t1_arr[1] == null) || (t1_arr[1].length == 0)) {
  t1_arr[1] = 0;
}
if ((t2_arr[1] == null) || (t2_arr[1].length == 0)) {
  t2_arr[1] = 0;
}
if ((t3_arr[1] == null) || (t3_arr[1].length == 0)) {
  t3_arr[1] = 0;
}
if ((t4_arr[1] == null) || (t4_arr[1].length == 0)) {
  t4_arr[1] = 0;
}
if ((t5_arr[1] == null) || (t5_arr[1].length == 0)) {
  t5_arr[1] = 0;
}
if ((t6_arr[1] == null) || (t6_arr[1].length == 0)) {
  t6_arr[1] = 0;
}


var kommaTal = parseInt(t1_arr[1]) + parseInt(t2_arr[1]) + parseInt(t3_arr[1]) + parseInt(t4_arr[1]) + parseInt(t5_arr[1]) + parseInt(t6_arr[1]);
if (kommaTal > 100) {
  kommaTal -= 100;
  t1_arr[0] = t1_arr[0] - 0 + 1;
}
kommaTal = kommaTal + '';
if (kommaTal.length == 0) {
kommaTal = "00";
}
if (kommaTal.length == 1) {
kommaTal = "0" + kommaTal;
}
form.reptotal.value = parseInt(t1_arr[0]) + parseInt(t2_arr[0]) + parseInt(t3_arr[0]) + parseInt(t4_arr[0]) + parseInt(t5_arr[0]) + parseInt(t6_arr[0]) + "," + kommaTal;
}
//-->
</script>
Avatar billede olebole Juniormester
25. marts 2003 - 20:25 #7
<ole>

Erik >> Du prøver at gange to tekststrenge ... mon ikke dette vil virke bedre:

  a=1.5;
  b=100;
  alert(a*b);

...?  ;o)
/mvh
</bole>
Avatar billede erikjacobsen Ekspert
25. marts 2003 - 20:30 #8
Ja, undskyld, mini41, men jeg fatter intet af alt det du foretager
dig. Det er altså ikke så svært at lægge tal sammen og gange
dem med hinanden, hvis blot du bruger punktum. Kan du forklare mig
hvad formålet med dine mange beregninger er?

Ole: "1.5" var blot for at illustrere at det netop også lader
sig gøre med strenge, som fx fra et inputfelt. Vores kære JavaScript
finder ud af det alligevel.
Avatar billede olebole Juniormester
25. marts 2003 - 20:46 #9
Jeg er ked af det, Erik ... det er ikke korrekt.

var a = "2";
var b = "5";
alert(a+b);

returnerer 25  :)
/mvh
Avatar billede erikjacobsen Ekspert
25. marts 2003 - 20:50 #10
Jamen - jeg skrev gange! Skal du låne til et par nye briller?
Avatar billede mini41 Nybegynder
25. marts 2003 - 20:58 #11
erikjacobsen:

Jeg ved godt at det kun er tilladt at bruge punktum .
Men det må så være muligt at advare brugere hvis han bruger et komma, men hvordan ?
Avatar billede erikjacobsen Ekspert
25. marts 2003 - 21:04 #12
Der er ingen grund til at forvirre brugeren med forskellene på
dansk og engelsk skrivestil. Du laver bare alle "," om til "." inden
du begynder at regne på det.
Avatar billede mini41 Nybegynder
25. marts 2003 - 21:04 #13
Forøvrigt kan man med mit script GODT bruge både komma og punktum når man adderer, men ikke når der skal ganges, hvilket jeg ikke fatter.
Avatar billede mini41 Nybegynder
25. marts 2003 - 21:06 #14
laver kommaer om ? 
Hvordan gør jeg det ?
Avatar billede olebole Juniormester
25. marts 2003 - 23:02 #15
Erik >> Århhh ... slap dog af og spar dine udråbstegn til andre.

Der er vel ingen grund til at forvirre brugeren, når du udmærket ved, det er vigtigt at skelne mellem strenge og tal i al scripting.

Næste gang brokker du dig jo blot over, spørgeren ikke kan finde ud af, der er forskel på strenge og tal, fordi 'én eller anden' har givet ham dårlige eksempler.
Avatar billede mini41 Nybegynder
26. marts 2003 - 07:02 #16
Jeg lukker spørgsmålet, da det ikke var ment at dette skulle bruges til andres diskussion
Avatar billede mini41 Nybegynder
26. marts 2003 - 07:03 #17
Point til Jesper Sørensen for svar
Avatar billede olebole Juniormester
26. marts 2003 - 14:01 #18
Det er ikke 'andres' diskussion - den er såmænd helt til ære for dig  ;o)
Jeg håber, du lærer noget af den.
/mvh
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