513 votes

analyser flotteur avec deux décimales

J'ai le code suivant. Je voudrais le faire de telle sorte que si price_result est égal à un nombre entier, disons 10 ensuite, je voudrais ajouter deux décimales. Donc 10 serait 10.00. Ou si elle est égale à 10,6 serait 10.60. Vous ne savez pas comment faire cela.

price_result = parseFloat(test_var.split('$')[1].slice(0,-1));

1113voto

Mahesh Velaga Points 9420

Vous pouvez utiliser toFixed() pour le faire

var twoPlacedFloat = parseFloat(yourString).toFixed(2)

59voto

Vlada Points 74

Lorsque vous utilisez toFixed, il renvoie toujours la valeur sous forme de chaîne de caractères. Cela complique parfois le code. Pour éviter cela, vous pouvez faire une méthode alternative pour le Nombre.

Number.prototype.round = function(p) {
  p = p || 10;
  return parseFloat( this.toFixed(p) );
};

et l'utilisation:

var n = 22 / 7; // 3.142857142857143
n.round(3); // 3.143

ou simple

(22/7).round(3); // 3.143

-2voto

Essayez ceci (voir les commentaires dans le code):

function fixInteger(el) {
    // this is element's value selector, you should use your own
    value = $(el).val();
    if (value == '') {
        value = 0;
    }
    newValue = parseInt(value);
    // if new value is Nan (when input is a string with no integers in it)
    if (isNaN(newValue)) {
        value = 0;
        newValue = parseInt(value);
    }
    // apply new value to element
    $(el).val(newValue);
}

function fixPrice(el) {
    // this is element's value selector, you should use your own
    value = $(el).val();
    if (value == '') {
        value = 0;
    }
    newValue = parseFloat(value.replace(',', '.')).toFixed(2);
    // if new value is Nan (when input is a string with no integers in it)
    if (isNaN(newValue)) {
        value = 0;
        newValue = parseFloat(value).toFixed(2);
    }
    // apply new value to element
    $(el).val(newValue);
}

-4voto

J'ai d'autre solution.

Vous pouvez utiliser round() à le faire à la place toFixed()

var twoPlacedFloat = parseFloat(yourString).round(2)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X