J'ai le code suivant. Je voudrais qu'il soit tel que si price_result est égal à un entier, disons 10, alors je voudrais ajouter deux décimales. Donc 10 serait 10,00. Ou si elle est égale à 10,6 serait 10,60. Je ne sais pas comment faire cela.
price_result = parseFloat(test_var.split('$')[1].slice(0,-1));
javascript
floating-point
user357034
la source
la source
var twoPlacedFloat = + parseFloat(yourString).toFixed(2)
pour convertir en flottantLorsque vous utilisez
toFixed
, il renvoie toujours la valeur sous forme de chaîne. Cela complique parfois le code. Pour éviter cela, vous pouvez créer une autre méthode pour Number.et utilise:
ou simplement:
la source
0.1 + 0.2 // 0.30000000000000004
j'ai donc besoin d'une correction pour cela(0.1+0.2).round() // 0.3
Si vous avez besoin de performances (comme dans les jeux):
C'est environ 100 fois plus rapide que parseFloat (number.toFixed (2))
http://jsperf.com/parsefloat-tofixed-vs-math-round
la source
number * 1
je manque quelque chose peut-être 🤔?Pour renvoyer un nombre, ajoutez une autre couche de parenthèses. Le garde propre.
la source
var twoPlacedFloat = parseFloat(('2.00').toFixed(2))
génère une erreur.Si votre objectif est d'analyser et que votre entrée peut être un littéral, alors vous vous attendez à un
float
ettoFixed
ne le fournira pas, alors voici deux fonctions simples pour fournir ceci:la source
parseFloat(parseFloat('10.5').toFixed(2))
retour10.5
espéré10.50
. AussiparseFloat(parseFloat('10.50').toFixed(2))
retour10.5
le plafond de lodash est probablement le meilleur
fonctionnera également avec un numéro et il est sûr
la source
@sd Réponse courte: il n'y a aucun moyen dans JS d'avoir une valeur de type de données Number avec des zéros de fin après une décimale.
Réponse longue: c'est la propriété
toFixed
ou latoPrecision
fonction de JavaScript, pour renvoyer la chaîne. La raison en est que le type de données Number ne peut pas avoir une valeur comme a = 2,00, il supprimera toujours les zéros de fin après la décimale, il s'agit de la propriété intégrée du type de données Number. Donc, pour atteindre ce qui précède dans JS, nous avons 2 optionsla source
Veuillez utiliser la fonction ci-dessous si vous ne souhaitez pas arrondir.
la source
Pour ce que ça vaut: Un nombre décimal, est un nombre décimal, vous l'arrondissez à une autre valeur ou non. En interne, il se rapprochera d'une fraction décimale selon la règle de l'arthmétique et de la manipulation en virgule flottante. Il reste un nombre décimal (virgule flottante, dans JS un double) en interne, quel que soit le nombre de chiffres avec lesquels vous souhaitez l'afficher.
Pour le présenter pour l'affichage, vous pouvez choisir la précision de l'affichage à tout ce que vous voulez par conversion de chaîne. La présentation est un problème d'affichage, pas un problème de stockage.
la source
Vous pouvez utiliser .toFixed () pour une valeur flottante à 2 chiffres
Exampale
la source
Essayez ceci (voir les commentaires dans le code):
la source
JavaScript simple, chaîne à flotter:
la source
La solution qui fonctionne pour moi est la suivante
la source
Initialiser le générateur de formulaires FormArray
Créer un formulaire
Définir des valeurs de formulaire dans Form Controller
la source
J'ai une autre solution.
Vous pouvez utiliser
round()
pour le faire à la placetoFixed()
la source
parseFloat()
avoir mis à jour la réponse de @zsalzbankround()
sur les nombres en js. La vraie question est de savoir qui a voté contre.