Bonjour,
Est-il possible sous CR 8.5 de convertir un nombre en lettre ?
Merci
Bonjour,
Est-il possible sous CR 8.5 de convertir un nombre en lettre ?
Merci
bonjour,
a tester :
ToWords
Syntaxes Basic et Crystal
Syntaxes des arguments
ToWords (x)
ToWords (x, nbDécimales)
ToWords (x, nbDécimales, typeFormulaire)
Arguments
"x" est une valeur numérique ou monétaire à convertir en mots.
"nbDécimales" est un nombre entier indiquant le nombre de décimales à convertir. (Cet argument est facultatif.)
"typeFormulaire" indique le type de formulaire de "x". Cet argument n'est utilisé que pour les langues asiatiques (en particulier le japonais, le coréen, le chinois simplifié et le chinois traditionnel). Il est ignoré pour l'anglais et les autres langues non asiatiques.
Type de formulaire 0
Formulaire classique, également appelé formulaire de vérification
Type de formulaire 1
Formulaire quotidien
Type de formulaire 2
Formulaire informel
Remarque :
Le formulaire quotidien a la même structure que le formulaire classique, à part qu'il utilise un jeu de caractères différent pour les nombres. En coréen, il n'existe qu'un seul jeu de caractères pour les nombres, par conséquent le formulaire quotidien et le formulaire classique sont identiques pour cette langue. Le formulaire quotidien est également semblable au style utilisé dans les articles.
Le formulaire informel est utilisé pour indiquer les numéros de téléphone, les adresses, etc.
Résultat
Chaîne de texte
Action
Vous pouvez employer cette fonction pour convertir la valeur d'un champ numéeique ou monétaire ou le résultat d'un calcul numérique en mots afin de pouvoir l'utiliser comme du texte. La possibilité d'ajuster le nombre de décimales est pratique, surtout lorsqu'un résultat comporte plus de décimales que nécessaire.
Exemple d'utilisation
Utilisez cette fonction pour écrire en lettres le montant d'un chèque généré par ordinateur.
Exemples
Les exemples suivants sont applicables aux syntaxes Basic et Crystal :
ToWords (12345)
Renvoie douze mille trois cent quarante-cinq et xx/100.
ToWords (12345.6749,2)
Renvoie douze mille trois cent quarante-cinq et 67/100.
ToWords(12345.4999,0)
Renvoie douze mille trois cent quarante-cinq.
ToWords(12345.5000,0)
Renvoie douze mille trois cent quarante-six.
ToWords(-12345)
Renvoie moins douze mille trois cent quarante-cinq et xx/100.
ToWords(12.3499)
Renvoie douze et 35/100.
ToWords({commandes.MONTANT COMMANDE})
Renvoie deux mille seize et 84/100 où Montant = 2016,84.
ToWords((({fichier.QTE1} + {fichier.QTE2} + {fichier.QTE3}) * {fichier.PRIX}) * 1,075)
Renvoie cent deux et 13/100.
ToWords((({fichier.QTE1} + {fichier.QTE2} + {fichier.QTE3}) * {fichier.PRIX}) * 1 075,0)
Renvoie cent deux où QTE = 1, QTE2 = 82, QTE3 = 12 et PRIX = 1.00 (additionne les trois quantités, les multiplie par PRIX et ajoute 7,5% de TVA). Dans ce cas, le nombre obtenu est 102,125, qui est ensuite arrondi à 102,13 (deux décimales standard) puis converti en lettres.
Commentaires
La fonction traite le nombre comme un tout et non comme une suite de chiffres. Ainsi, 123 est traité comme le nombre cent vingt-trois et non comme un, deux et trois.
Les nombres négatifs commencent par le mot "moins".
Les valeurs des champs monétaires et numériques sont traitées de la même manière et produisent des résultats identiques.
La version écrite de la valeur prenant beaucoup plus de place que la version numérique, vous devez ajuster en conséquence la taille de la zone de champ correspondante.
Merci,
Cela va me rendre service même s'il me reste qq problemes pour afficher convenablement euros et centimes
A bientôt
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager