bonjour
ben mon probleme est que j'ai tous mes nombres sous formes de :
100.655
12,9854
888252.12
je ne dois laissé que 2 nombres apré la virgule ou le point sou forme de :
100.655 --->100.65
12,9854 -->12,98
et merci
bonjour
ben mon probleme est que j'ai tous mes nombres sous formes de :
100.655
12,9854
888252.12
je ne dois laissé que 2 nombres apré la virgule ou le point sou forme de :
100.655 --->100.65
12,9854 -->12,98
et merci
par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <script type='text/javascript'> function formatDeci(Num,Deci){ return (parseInt(Num*Math.pow(10,Deci)))/Math.pow(10,Deci) } alert(formatDeci(12356.25665,2)) </script>
par exemple
ou Math.floor ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <script type='text/javascript'> function formatDeci(Num,Deci){ return (parseInt(Num*Math.pow(10,Deci)))/Math.pow(10,Deci) } alert(formatDeci(12356.25665,2)) </script>
mais votre reponse ne marche que sur le point " ." et elle ne marche pas sur la virgule " , "
ha j'avais pas vu les . ou les,
ou une variante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <script type='text/javascript'> function formatDeci(Num){ var reg=/(\d+)([\.,]{1})(\d{0,2})\d*/g return Num.toString().replace(reg,"$1$2$3") //Math.floor(Num*Math.pow(10,Deci))) } alert(formatDeci("12356,24365")) </script>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function formatDeci(Num){ var reg=/(\d+)([\.,]{1})(\d{0,2})/g //return Num.toString().replace(reg,"$1$2$3") //Math.floor(Num*Math.pow(10,Deci)))/Math.pow(10,Deci) return reg.exec(Num.toString())[0] } alert(formatDeci("12356,24365"))
merci c'est gentil de votre part
je pense que c'est un peu trop demandé , mais comment adapté la fonction que tu viens de me donné sur un formulaire :
mon formulaire est de genre simple :
maintenant la fonction est la , je veu que quand on rentre un nombre kelkonk on fé le test et on affiche directement le nombre corrigé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <form> Entrez un nombre : <INPUT NAME=Texte3 onBlur='formatDeci(Texte3)'> <INPUT TYPE=button NAME=bouton3 VALUE=Test3 > </FORM>
pardon mais je suis debutant en javascript et j'esseie de me familiarisé avec et merci pour votre aide
Merci d'éviter le sms et penser aux balises CODE ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <script type='text/javascript'> function formatDeci(Num){ var reg=/(\d+)([\.,]{1})?(\d{0,2})?/g //return Num.toString().replace(reg,"$1$2$3") var TabReg=reg.exec(Num.toString()) return (TabReg)?TabReg[0]:''; } </script> </head> <body> <form> Entrez un nombre : <INPUT NAME="Texte3" onblur="this.value=formatDeci(this.value)"> <INPUT TYPE=button NAME=bouton3 VALUE=Test3 > </FORM></body> </html>
merci c'est parfait mon probleme est resolu
pour conclure mon pti travail la j'ai 3 fonctions de test :
ValidateNumerique()
ValidateBornes()
formatDeci()
maintenant je dois structuré mon programme , de sorte a se que je fais tous ces fonctions dans une seule grande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 function ValidateNumerique(text3) { reg = new RegExp("[^0-9 .,]"); if (!reg.test(text3.value)){ return true ; }else{ alert('vous devez saisir des chiffres ou "." ou ","'); text3.focus } } function ValiderBornes(text3) { var min = document.getElementById('minimum').value var max = document.getElementById('maximum').value if (element.value>max && element.value<min) { alert("Le champ doit être compris entre "+max+" et "+min); } else { return true; } } function formatDeci(Num){ var reg=/(\d+)([\.,]{1})?(\d{0,2})?/g var TabReg=reg.exec(Num.toString()) return (TabReg)?TabReg[0]:''; } </script>
et definir le corps apré de chaqu'une pour appelé dans la fin ke la fonction mer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ValidateMontant() { ValidateNumerique(texte3) ValidateBorne(...) .....} }
et merci
j'ai cru voir quelqu'un parler de balise code ???
désolé , je viens de me familiarisé avec le forum ,et c'est a ne pas refaire
merci d'aller voir le forum "contibuez" ... il y a un topic sur le validation des forms ...
Petit amélioratin de la regExp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function formatDeci(Num){ var reg=/^(\d+)((?=(\.|,))((\.|,){1})(\d{2}).*)?/ return Num.toString().replace(reg,"$1$5$6") }
pour l'autre question de faire une grande fonction qui engendre tous les autres fonctions de test , je ne sai pas comment l'a faire , je suis déja allé dans la page que tu m'a indiqué , mais c'est encore flou , si vous pouvez m'indiqué la solution ca seré gentil de votre part
mets une variable flag ...
test1 test2 correspondant à chacune de tes fonctions de vérifiaction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var flag=0 if(!test1){flag++} if(!test2){flag++} ... return (flag>0)?false:true;
désolé mais c'est flou pour moi , j'arrive pas
Un volontaire pour lui coder le truc ?
tout à été dit ...
j'ai esseie de le faire a l'aide de la fonction generale , voila mon code:
mais au niveau de formDeci sa marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 <script type="text/javascript"> function ValiderMontant(argument){ validerNumerique(argument); formaDeci(argument); ValiderBornes(argument) } function validerNumerique(text3) { reg = new RegExp("^[0-9 .,]"); if (reg.test(text3.value)){ return true ; }else{ alert(document.getElementById('tp').value); text3.focus return false; } } function ValiderBornes(text3){ var min = document.getElementById('minimum').value var max = document.getElementById('maximum').value if (text3.value>max & text3.value<min) { alert(document.getElementById('tp1').value); } else { return true; } } function formatDeci(Num){ var reg=/(\d+)([\.,]{1})?(\d{0,2})?/g var arg = Num.value; var TabReg=reg.exec(arg.toString()) alert ('TabReg :'+TabReg); return (TabReg)?TabReg[0]:''; } </script> <body> <form> Entrez un nombre : <INPUT NAME=Texte3 onBlur='ValiderMontant(this);'> <input type="hidden" name = "message" id="tp" value ="ERR_MONTANT_FORMAT"> <input type="hidden" name = "min" id="minimum" value ="50" /> <input type="hidden" name = "max" id="maximum" value ="100" /> <input type="hidden" name = "message1" id="tp1"value ="ERR_MONTANT_VAL"> <INPUT TYPE=button NAME=bouton3 VALUE=Test3 > </FORM> </form>
c bon sa marche , je lé juste forcé dans la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function formatDeci(Num){ var reg=/(\d+)([\.,]{1})?(\d{0,2})?/g var arg = Num.value; var TabReg=reg.exec(arg.toString()) Num.value= (TabReg)?TabReg[0]:'';
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager