Bonjour,
svp connaissez-vous une fonction en sql permettant de convertir des chiffres en lettres? ou bien quelqu'un en a-t-il un à me proposer? par exemple: convertir "1585" en "mille cinq cent quatre vingts cinq".*
Merci
Bonjour,
svp connaissez-vous une fonction en sql permettant de convertir des chiffres en lettres? ou bien quelqu'un en a-t-il un à me proposer? par exemple: convertir "1585" en "mille cinq cent quatre vingts cinq".*
Merci
Pardon, c'est pas la FAQ, Mais une recherche (Nombre lettre) aurait donné un gros post
Voici le lien final :
http://oracle.developpez.com/sources...mbre_a_lettres
note que 1585, en lettres ça fait
mille cinq cent quatre-vingt cinq
(pas de s à vingt)
dans la fonction d'orafrance, il y a aussi quelques erreurs de pluriel, minimes...
les virgules par contre ne marchent pas du tout
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT translate_fr(to_word_en(8e4)) FROM dual; quatre-vingts mille SELECT translate_fr(to_word_en(1e36)) FROM dual; un undecillions SELECT translate_fr(to_word_en(101e33)) FROM dual; cent un decillion
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT translate_fr(to_word_en(0.10)) FROM dual; zero SELECT translate_fr(to_word_en(1.01)) FROM dual; un virgule un
bonjour,
merci pour cette fonction
pour le problem des virgules voiçi la modif que j'ai fais:
j'ai remplacer dans la fonction to_word_en
par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part li$nb_zero := INSTR(TRANSLATE(SUBSTR (pn$nombre - lv$entier, 2),'123456789','x'),'x')-1;
aussi dans la fonction translate_fr j'ai ramplacer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 li$nb_zero := length(TRANSLATE(SUBSTR (pn$nombre - lv$entier, 2),'123456789','x'))-1;
par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part RETURN lv$nombre_fr;
resultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part RETURN replace(lv$nombre_fr,'Un Cent','Cent');
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT translate_fr(to_word_en(0.10)) FROM dual; zero virgule Un SELECT translate_fr(to_word_en(1.01)) FROM dual; Un virgule zero Un
Note que le problème de virgule est déjà résolu dans la source
J'ai un peu travaillé depuis 2007 quand même
Par contre, va falloir que je m'attèle aux pluriels
quatre-vingts mille ne s'écrit pas comme ça ? 80 est rond donc un s non ?
deux cents mille s'écrit bien comme ça aussi non ?
Edit : Bon... c'est quatre-vingt mille mais quatre-vingts millions![]()
Si vingt ou cent ne sont pas les derniers mots, ils ne prennent pas de 's'. Simple et sans exception.![]()
Non, ce n'est pas si simple : http://www.francaisfacile.com/exerci...ncais-3211.php
Exemple :
Ce film a rapporté près de quatre-VINGTS millions d'euro(s).
Explications: pluriel (exception) car 80 n'est suivi d'aucun cardinal numéral (million n'est pas un cardinal numéral : c'est un nom).
Cette pétition a obtenu plus de quatre-VINGT mille signatures.
Explications: invariable, car 80 est suivi d'un cardinal numéral (mille est un cardinal numéral, contrairement à million qui est un nom).![]()
et qu'est ce qu'on doit faire de votre message exactement ?![]()
je suis tres reconnaissant pour le travail et l'effort que vous avez réalisé pour la conversion des chiffres en lettres, j'ai besoins de cette fonctionnalité pour afficher les montants en lettres dans mes factures, ça repond à mon besoin mais seulement un petit souci,
je m'explique :
quand je fais ca :ca me fais cette erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part select to_euro_fr('0.10') from dual;je n'ai pas compris pourtant j'ai utilisé le code corrigé en dernier des fonctions to_euro_fr et to_word_fr , to_word_en, translate_fr
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ORA-06502:PL/SQL:erreur numérique ou erreur sur une valeur:erreur de conversion des caractères en chiffres ORA-06512:à "SCO.TO_EURO_FR",ligne 4
je pense que le séparateur décimal me pose un problème parceque quand j'utilise la virgule :il m'affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part select to_euro_fr('0,10') from dual;mais je cherche à afficher
Code : Sélectionner tout - Visualiser dans une fenêtre à part zero euroou est ce qu'elle est l'erreur pourtant vous avez mis ce post résolu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part zero euro et dix centimes euros
merci pour votre attention
aparement le problem est dans le séparateur décimal
il faut mettre nls_numerci_character = .
mais je ne sais pas comment le faire je travail avec forms et reports
Partager