Avatar billede flviborg Nybegynder
24. juni 2004 - 18:42 Der er 5 kommentarer og
1 løsning

punktum if komma

Hej,

Jeg har nogle input felter hvori brugeren indtaster nogle tal med decimaler.

Mit spørgsmål er: hvordan får jeg flash til at fortolke et komma som et punktum (de intastede tal skal bruges til efterfølgende beregninger).
Avatar billede pyroman Nybegynder
24. juni 2004 - 19:12 #1
function textToNumber (txt){
  var txt = txt;
  txt = txt.split(",").join(".");
  return Number(txt);
}

så kan du fx bare skrive:

tal = textToNumber(mitInputFelt.text);
Avatar billede alexander_j Nybegynder
24. juni 2004 - 20:33 #2
kunne vel også bare skrive:
tal = tal.split(",").join(".");

Så drukner han ikke i funktioner!
Avatar billede flviborg Nybegynder
24. juni 2004 - 20:45 #3
tak for svaret, jeg kan vel bruge dem begge.
Avatar billede flviborg Nybegynder
24. juni 2004 - 20:46 #4
=
Avatar billede pyroman Nybegynder
25. juni 2004 - 09:38 #5
Jamen funktioner er lækre og gør ens script mere praktisk og overskueligt - hvad hvis han skulle gøre det med mange input tekstfelter? så ser det noget bedre ud og er lidt kortere end at skrive split().join() bagefter alle hans variabler...

Desuden så returnere min funktion et tal, sådan at det er parat til beregninger..., så kunne man selvf. også bare ændre din linje til:

tal = Number(tal.split(",").join("."));


Nåh... men det var bare min mening ;)

Held og lykke med det :)    - og her er også mit svar...
Avatar billede alexander_j Nybegynder
25. juni 2004 - 10:04 #6
Min kommentar er bare en kommentar - pointene tilfalder pyroman!

Ja funktioner er lækre, men ikke for enhver pris - især ikke hvis man drukner i dem og alligevel ikke bruger dem igen! Om der spares tegn kommer helt an på om funktionen skal bruges flere gange - som det er så fylder
'textToNumber(mitInputFelt.text)' 31 tegn + det antal tegn som funktionen fylder, mens
'Number(mitInputFelt.text.split(",").join("."))' fylder 46 tegn - hvilket betyder at der kun er 15 tegn sparet - hvilket kræver at funktionen skal bruges en del gange før der er sparet noget! Desuden er navngivningen af funktionen vist ikke rigtig sigende!

Hvis den skulle kunne bruges i mange sammenhænge kunne man gøre den mere generel:
function finderstat (txt,f,e){
  var txt = txt, f = f, e = e;
  txt = txt.split(f).join(e);
  return txt;
}
minnyetekst = finderstat(mitinputfelt.text,",",".");

Og skal det blive til et tal, så putte number() udenom!
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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



Seneste spørgsmål Seneste aktivitet
I dag 06:10 Excel åbner fil i kæmpe format Af Aske i Excel
I går 22:00 Datafordeler Af Lsk i PHP
I går 12:37 Summere beløb pr. dato Af TTA i Excel
31/1022:44 Tilslutte chassic fans Af viking69 i PC
31/1020:28 LED lysstofrør Af ErikHg i Fri debat