Documentation

Cookies & confidentialité

Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Vous pouvez modifier vos préférences à tout moment depuis le pied de page.

Fonctions numériques

Les fonctions numériques vous aident à calculer des pourcentages, formater des montants, et manipuler des nombres de diverses façons.

Calculs

valeur.percent(pourcentage)

Calcule un pourcentage d'une valeur. Le pourcentage peut être spécifié avec ou sans le symbole %.

JavaScript
 // Calculer 20% de 500
500.percent(20)                     // 100
500.percent(20%)                    // 100 (même résultat)

// Calculer la TVA (20.9%)
produit.prixHT.percent(20.9%)

// Calculer une remise de 15%
let remise = commande.total.percent(15);
commande.total - remise

Équivalent : 100.percent(20) est identique à 100 * 20 / 100 ou 100 * 0.20.

nombre.negate()

Retourne l'opposé d'un nombre (multiplie par -1).

JavaScript
5.negate() // -5
-10.negate()                                  // 10
compte.solde.negate()                     // Inverse le signe du solde

nombre.negateIf(condition)

Retourne l'opposé du nombre uniquement si la condition est vraie. Sinon, retourne le nombre tel quel.

JavaScript
            // Rendre négatif si c'est un débit
100.negateIf(transaction.type === "débit") // -100 si débit, 100 sinon

// Rendre négatif si montant positif et vice versa
facture.total.negateIf(facture.payee === true)

// Exemple concret
10.negateIf(5 > 3)                             // -10 (car 5 > 3 est vrai)
10.negateIf(5 < 3)                             // 10 (car 5 < 3 est faux)

Formatage

nombre.toFixed(nombreDecimales)

Formate un nombre avec un nombre spécifique de décimales. Retourne une chaîne de caractères.

JavaScript
123.456.toFixed(2) // "123.46"
100.toFixed(2)                                        // "100.00"
3.14159.toFixed(4)                                    // "3.1416"
produit.prix.toFixed(2)                           // Prix avec 2 décimales

Bon à savoir : Cette fonction arrondit le nombre si nécessaire. 123.456 arrondi à 2 décimales donne 123.46.

nombre.padZeros(longueur)

Ajoute des zéros à gauche d'un nombre pour atteindre la longueur souhaitée. Idéal pour les numéros de référence.

JavaScript
7.padZeros(3) // "007"
42.padZeros(5)                                   // "00042"
123.padZeros(3)                                  // "123" (déjà assez long)
2602.padZeros(3)                                 // "2602" (plus long que demandé)

// Générer un numéro de facture
"FAC-".concat(facture.numero.padZeros(5))    // "FAC-00042"

Utile pour : Numéros de facture, codes produit, références client, numéros de commande, etc.

Conversion

texte.toNumber()

Convertit du texte en nombre entier. Utile quand vous devez extraire un nombre d'une chaîne de caractères.

JavaScript
"42".toNumber() // 42
"007".toNumber()                                   // 7 (les zéros initiaux sont ignorés)
"123".toNumber()                                   // 123

// Extraire un numéro d'un code
let code = "MIEL042";
let partie = code.slice(4, 7);                     // "042"
partie.toNumber()                                  // 42

Attention : Cette fonction attend une chaîne contenant uniquement des chiffres. Si le texte contient des lettres ou des symboles, le résultat peut être imprévisible.

valeur.count()

Retourne la longueur d'une chaîne ou d'un tableau. Pour un nombre Decimal, retourne le nombre lui-même.

JavaScript
"Bonjour".count() // 7 (caractères)
[1, 2, 3, 4, 5].count()                              // 5 (éléments)
commande.produits.count()                        // Nombre de produits

// Vérifier la longueur d'un champ
client.telephone.count() === 10
? "Numéro valide"
: "Numéro invalide"

Exemples pratiques

Formater un prix pour affichage

JavaScript
let prixTTC = produit.prixHT * 1.20;
prixTTC.toFixed(2).concat(" €")

// Résultat: "149.99 €"

Générer un numéro de facture incrémental

JavaScript
let annee = today().year();
let mois = (today().month() + 1).padZeros(2);
let numero = facture.numero.padZeros(4);

"FAC-".concat(annee, "-", mois, "-", numero)

// Résultat: "FAC-2026-01-0042"

Calculer une remise progressive

JavaScript
let total = commande.total;
let tauxRemise =
  total >= 1000 ? 15
  : total >= 500 ? 10
  : total >= 100 ? 5
  : 0;

let montantRemise = total.percent(tauxRemise);
let totalFinal = total - montantRemise;

"Total: ".concat(total.toFixed(2), " € - ",
  "Remise ", tauxRemise, "% = ",
  montantRemise.toFixed(2), " € - ",
  "Net: ", totalFinal.toFixed(2), " €"
)

Extraire et incrémenter un numéro de code

JavaScript
// Codes existants: ["PRJ001", "PRJ002", "PRJ003"]
let codes = projet.codesExistants;
let numeros = codes.map(code => code.slice(3, 6).toNumber());
let prochainNumero = max(numeros) + 1;

"PRJ".concat(prochainNumero.padZeros(3))

// Résultat: "PRJ004"

Écriture comptable (débit/crédit)

JavaScript
let montant = ecriture.montant;
let estDebit = ecriture.type === "débit";

estDebit
? "- ".concat(facture.total.toFixed(2), " €")
: "+ ".concat(facture.total.toFixed(2), " €")

// Ou avec negateIf pour le calcul
ecriture.montant.negateIf(ecriture.type === "débit")

Prochaine étape

Découvrez maintenant les fonctions de manipulation de texte pour formater et transformer vos chaînes de caractères.