IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Ne laisser que 2 nombres aprés la virgule ou le point et supprimer les autres


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut Ne laisser que 2 nombres aprés la virgule ou le point et supprimer les autres
    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

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    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>

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    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>
    ou Math.floor ...

  4. #4
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut sa marche pas
    mais votre reponse ne marche que sur le point " ." et elle ne marche pas sur la virgule " , "

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ha j'avais pas vu les . ou les,
    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>
    ou une variante:
    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"))

  6. #6
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut merci
    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 :
    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>
    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é

    pardon mais je suis debutant en javascript et j'esseie de me familiarisé avec et merci pour votre aide

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    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>

  8. #8
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut merci
    merci c'est parfait mon probleme est resolu
    pour conclure mon pti travail la j'ai 3 fonctions de test :
    ValidateNumerique()
    ValidateBornes()
    formatDeci()

    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>
    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
     
      ValidateMontant()
    {
    ValidateNumerique(texte3)
    ValidateBorne(...)
    .....}
    }
    et definir le corps apré de chaqu'une pour appelé dans la fin ke la fonction mer
    et merci

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    j'ai cru voir quelqu'un parler de balise code ???

  10. #10
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut
    désolé , je viens de me familiarisé avec le forum ,et c'est a ne pas refaire

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    merci d'aller voir le forum "contibuez" ... il y a un topic sur le validation des forms ...

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    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") 
     
    }

  13. #13
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut fonction mer
    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

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    mets une variable flag ...

    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;
    test1 test2 correspondant à chacune de tes fonctions de vérifiaction

  15. #15
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut
    désolé mais c'est flou pour moi , j'arrive pas

  16. #16
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Un volontaire pour lui coder le truc ?
    tout à été dit ...

  17. #17
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut
    j'ai esseie de le faire a l'aide de la fonction generale , voila mon 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
    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>
    mais au niveau de formDeci sa marche pas

  18. #18
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut
    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]:'';

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. N'afficher que 2 chiffres après la virgule
    Par matimat2k4 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 28/12/2007, 14h01
  2. Limité les nombres après la virgule
    Par touchkad dans le forum Langage
    Réponses: 4
    Dernier message: 17/09/2007, 10h37
  3. Limiter les nombres après la virgule
    Par lebigboss dans le forum Langage
    Réponses: 3
    Dernier message: 24/07/2007, 11h39
  4. Comment limiter le nombre apres la virgule?
    Par pierrot10 dans le forum Langage
    Réponses: 2
    Dernier message: 25/10/2006, 22h12
  5. [Math]Récupérer le premier nombre après la virgule
    Par am.adnane dans le forum Général Java
    Réponses: 4
    Dernier message: 01/12/2005, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo