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

VueJS Discussion :

ParseFloat affichage d'un nombre avec les décimales (multiplication)


Sujet :

VueJS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    En formation
    Inscrit en
    Juillet 2020
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : En formation

    Informations forums :
    Inscription : Juillet 2020
    Messages : 124
    Par défaut ParseFloat affichage d'un nombre avec les décimales (multiplication)
    Bonjour,

    Je récupère un nombre (46,16) depuis le localStorage et je souhaite multiplier ce nombre par le nombre de jours sélectionner. Lorsque je récupère la variable du nombre elle s'affiche correctement , mais lorsque j'essaie de la multiplier je reçois que un entier ou sinon 'NaN';
    Lorsque je récupère le nombre de jour ou le prix tout fonctionne, mais lorsque j'essaye de faire la multiplication ça ne fonctionne pas. Qui peut me dire où se trouve mon erreur ? J'ai essayé pas mal de chose comme la doc Mdn mozilla mais sans succés. J'ai fais plusieurs tests:

    Code html : 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
    <template>
            <div>
              <p>{{parseFloat(totalJourPrice).toFixed(2)}}</p>
              <p>{{nombredejours * parseFloat(priceLoc).toFixed(2)}} </p>
              <p>{{totalJourPrice}}</p>
              <p>{{nombredejours * priceLoc}}</p>
              <p>{{priceLoc }}</p>
              <p>{{ tuto }}</p>
            </div>
    </template>
    export default {
     
        components:{
            Menu,
            Footer
        },
        data(){
            return{
                cars:[],
                vehicule:[],
                priceLoc: localStorage.getItem('price'), //46,16
                nombredejours : localStorage.getItem('nombredejours'), // 5
                //totalJourPrice: 
            }
        },
    computed:{
           //totalJourPrice(){
          //return this.nombredejours + this.priceLoc
                // return parseInt(this.nombredejours) * parseIntparseInt(this.priceLoc)
          //  }
     
            totalJourPrice(){
                let jour = this.nombredejours
                let prix = this.priceLoc
     
                let total = jour * prix
                //let toto = 
                console.log(jour)
                console.log(prix )
                console.log(total)
                //return jour * parseFloat(prix).toFixed(2)
                return parseInt(jour) * parseFloat(prix).toFixed(2)
                //return parseFloat(this.nombredejours) * parseFloat(this.priceLoc).toFixed(2)
     
            },
     
        }
    }

  2. #2
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    hello,
    je pense que ton souci vient de la virgule qui n'est pas reconnue comme séparateur de décimal.
    tu peux essayer de logger le résultat de parseFloat
    si c'est bien ça, tu devras changer la virgule en point
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    const str = '46,16'
    const noComa = str.replace(/,/, '.');
    const price = parseFloat(noComa);

  3. #3
    Membre confirmé
    Homme Profil pro
    En formation
    Inscrit en
    Juillet 2020
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : En formation

    Informations forums :
    Inscription : Juillet 2020
    Messages : 124
    Par défaut
    Bonjour gwyohm,

    Merci pour ta réponse, tu as visé juste , j'ai eu la réponse ce matin sur stackoverflow. C'était bien la virgule qui poser problème.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/06/2008, 10h39
  2. probleme d'affichage d'un nombre avec java
    Par oasma dans le forum Langage
    Réponses: 5
    Dernier message: 08/04/2007, 17h37
  3. Transfertext : problème avec les décimales
    Par Julien Dufour dans le forum Access
    Réponses: 3
    Dernier message: 19/02/2007, 10h27
  4. affichage d'une image avec les servlets
    Par hassanovich dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 03/11/2006, 10h35
  5. Afficher un nombre avec 2 décimales.
    Par Higestromm dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/02/2006, 16h12

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