Maison  >  Article  >  interface Web  >  Comment tronquer des nombres à deux décimales sans arrondir en JavaScript ?

Comment tronquer des nombres à deux décimales sans arrondir en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-10 05:44:02960parcourir

How to Truncate Numbers to Two Decimal Places Without Rounding in JavaScript?

Tronquer les nombres à deux décimales sans arrondi

Lorsque l'on travaille avec des nombres en JavaScript, il est souvent nécessaire de les afficher avec un certain nombre de décimales. La méthode toFixed() peut être utilisée pour arrondir des nombres à un nombre spécifié de décimales, mais que se passe-t-il si vous devez tronquer le nombre sans arrondi ?

Considérez l'exemple suivant :

var num = parseFloat(15.7784514);
document.write(num.toFixed(1) + "<br />");
document.write(num.toFixed(2) + "<br />");
document.write(num.toFixed(3) + "<br />");
document.write(num.toFixed(10));

Ce code donne le résultat suivant :

15.8
15.78
15.778
15.7784514000

Comme vous pouvez le voir, la méthode toFixed() arrondit le nombre au spécifié nombre de décimales. Pour tronquer le nombre, nous pouvons le convertir en chaîne et utiliser une expression régulière pour faire correspondre le nombre jusqu'à la deuxième décimale :

function calc(theform) {
  var num = theform.original.value, rounded = theform.rounded
  var with2Decimals = num.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0]
  rounded.value = with2Decimals
}

Ce code convertit le nombre d'origine en chaîne, puis utilise l'expression régulière ^-?d (?:.d{0,2}) ? pour faire correspondre le nombre jusqu'à la deuxième décimale. La chaîne résultante est ensuite attribuée à l'élément arrondi dans le formulaire.

Cette approche tronquera le nombre à deux décimales sans arrondir. Par exemple, si le numéro d'origine est 15,7784514, la valeur tronquée sera 15,77.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn