Je pense que la meilleure réponse à cette question est un exemple.
Disons que vous avez les données suivantes :
var products = [
{
"title": "Really Nice Pen",
"price": 150
},
{
"title": "Golf Shirt",
"price": 49.99
},
{
"title": "My Car",
"price": 1234.56
}
]
Vous voulez afficher chacun de ces produits avec le titre et le prix formaté. Essayons d'utiliser toPrecision
d'abord :
document.write("The price of " + products[0].title + " is $" + products[0].price.toPrecision(5));
The price of Really Nice Pen is $150.00
L'apparence est bonne, on peut donc penser que cela fonctionnera aussi pour les autres produits :
document.write("The price of " + products[1].title + " is $" + products[2].price.toPrecision(5));
document.write("The price of " + products[2].title + " is $" + products[2].price.toPrecision(5));
The price of Golf Shirt is $49.990
The price of My Car is $1234.6
Pas si bien. Nous pouvons résoudre ce problème en changeant le nombre de chiffres significatifs pour chaque produit, mais si nous itérons sur le tableau des produits, cela peut être délicat. Utilisons toFixed
à la place :
document.write("The price of " + products[0].title + " is $" + products[0].price.toFixed(2));
document.write("The price of " + products[1].title + " is $" + products[2].price.toFixed(2));
document.write("The price of " + products[2].title + " is $" + products[2].price.toFixed(2));
The price of Really Nice Pen is $150.00
The price of Golf Shirt is $49.99
The price of My Car is $1234.56
Cela produit ce que vous attendiez. Il n'y a pas de travail de devinette, et il n'y a pas d'arrondi.