IceCactus
Messages postés2Date d'inscriptionjeudi 24 mars 2005StatutMembreDernière intervention21 janvier 2012 21 janv. 2012 à 19:19
Bonjour,
Sur le 80...
En Suisse et en Belgique cela tourne de plus en plus vers le quatre-vingt.
Le octante était utilisé en Belgique mais semble s'être perdu, au point que beaucoup de belges l'ont oublié. Mon père avait appris à compter avec octante à Bruxelles et l'utilise encore ( moi aussi )...
Le octante est encore un peu usité en Suisse romande.
Le huitante est parfois utilisé en Suisse, mais surtout sur le canton de Vaud.
Septante et nonante sont courants en Suisse.
J'ai des échos que septante, octante et nonante était utilisés en France il y a longtemps, surtout dans le midi. C'est encore la version conseillée dans le dictionnaire de l'Académie et aussi la plus logique.
leabouch
Messages postés1Date d'inscriptiondimanche 28 décembre 2003StatutMembreDernière intervention 7 mars 2009 7 mars 2009 à 03:58
Allo,
Ne pas oublier dans ta nouvelle version que le
chiffre 91 s'écrit : quatre-vingt-onze. Il n'y a
qu'à ajouter un tiret devant onze dans tabnb[].
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 24 oct. 2008 à 17:39
demi tour (en voiture)belge = retourne-char suisse
yvkoe
Messages postés32Date d'inscriptionjeudi 20 septembre 2007StatutMembreDernière intervention19 janvier 2009 24 oct. 2008 à 17:28
bonjour eh oui octante c'est suisse
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 24 oct. 2008 à 12:45
Salut ,
en Belgique
septante=70
quatre-vingt=80
nonante=90
une fois !
octante ça est suisse peut-être !
xael2
Messages postés8Date d'inscriptionlundi 10 septembre 2007StatutMembreDernière intervention 7 octobre 2008 7 oct. 2008 à 18:31
D'accord YVKOE, merci pour ce commentaire. Je tâcherai de rectifier le tir dans une prochaine version. Je m'excuse donc auprès des internautes belges, nous auront donc bientôt une version tri-lingue français, suisse et belge...
Pouvez vous me confirmer qu'à part le 'octante' qui doit être 'quatre-vingt' en belge, le reste va bien merci :)
yvkoe
Messages postés32Date d'inscriptionjeudi 20 septembre 2007StatutMembreDernière intervention19 janvier 2009 6 oct. 2008 à 21:36
Bonjour, juste pour te dire que c'est en suisse qu'on dit octante pas en Belgique(je suis belge) sinon rien à dire à part ce qui a déjà été dit plus haut mais tes réponses sont bonnes aussi: c'est vrai parfois il vaut mieux faire plus long et bien suivre son algo
cs_petifa
Messages postés215Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention10 mars 2014 1 oct. 2008 à 18:10
Pour le tableau de dizaine j'avais compris pourquoi ne pas mettre soixante-dix et mettre deux fois soixante, mais c'est juste que ca m'est pas venu naturellement, mais ca ne complexifie pas trop l'algo, juste que tu dois prendre en plus des cas.
Sinon pour les parse cela allège les calculs, et l'utilisation de variables est très utile dans ce cas.
La solution que j'ai mise est à tester, mais logiquement elle devrait tenir le choc :p vu que ca cast en int alors on ne garde que le nombre des dizaines... A voir
xael2
Messages postés8Date d'inscriptionlundi 10 septembre 2007StatutMembreDernière intervention 7 octobre 2008 1 oct. 2008 à 17:42
bonjour PETIFA,
merci pour tes apréciations, effectivement il y a une nouvelle version qui est disponible, car depuis hier je pensais qu'il existe pas mal de solutions de ce genre, mais peut être pas une qui puisse a la fournir la syntaxe française et belge (je ne suis pas belge, je vis à la Réunion...) donc j'ai fait cette modif et à présent je vais passer à autre chose.
Désolé pour les commentaires, ce sera sans doute l'objet de la prochaine mise à jour s'il y a lieu :p.
Je vais essayer de répondre à tes questions, mais tu verra que dans cette version cela a changé :
pourquoi soixante et quatre-vingt sont en double ? par souci de versatilité, l'expression qui récupère le mot des dixaines dans le tableau de noms récupère l'index du mot dans le nombre à traduire (chiffre des dizaines - 2). A partir de 70 ou de 90 on doit poursuivre le cycle jusqu'a dix-neuf au lieu de revenir à "un, deux, etc...". Donc si j'avais stocké soixante-dix et quatre-vingt-dix dans ces indices, j'aurais eu des expressions comme "soixante-dix onze", etc.
Ce n'est plus vrai, j'ai complexifié un peu l'algo à cet endroit afin d'implémenter le belge.
On peut parfois faire plus joli, mais parfois il faut savoir faire simple pour économiser la vitesse... exemple :
if (stx.equals(BE))
mot = mot.replaceFirst(tabdix[6], "octante");
Concernant le parse à répétition, c'est pour ne pas me noyer dans les variable, mais tu as raison niveau performances c'est nul. :)
Pour ta solution
retour = retour + " " + tabdix[((int)convertedNumber/10) - 2] + et ;
c'est très judicieux, mais je suis de nature frileuse et les convertions implicites de décimal à entier me font peur... à tester pour le mettre à l'épreuve.
cs_petifa
Messages postés215Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention10 mars 2014 1 oct. 2008 à 11:22
slt xael2
je trouve ta source interessante, il va y avoir une autre source permettant de faire une conversion de lettre en chiffres ? :)
cette source a été bien programmée et est bien aboutie, bon code
par contre quelques remarques sur le code :
- il aurait ptètre été bien d'avoir des commentaires sur certaines lignes, par exemple ligne 175, pourquoi ne pas mettre soixante-dix ? Mais bon ca m'a rapellé comment écrire les nonmbres :p
# String[] tabdix = { "vingt", "trente", "quarante", "cinquante",
# "soixante", "soixante", "quatre-vingt", "quatre-vingt" } ;
- ligne 141
# Integer.parseInt(chaineAConvertir)
tu utilise cette fonction assez souvent, question de performance tu pourrais mettre dans une variable int et traiter cette variable, ainsi tu parserai moins de fois
int convertedNumber = Integer.parseInt(chaineAConvertir)
- et après ligne 207 (par exemple)
# retour = retour + " " + tabdix[Integer.parseInt(nombre.substring(0, 1)) - 2] + et ;
deviendait
# retour = retour + " " + tabdix[((int)convertedNumber/10) - 2] + et ;
Voila ce que j'en dit. A voir si c'est mieux ou pas
++ Petifa
21 janv. 2012 à 19:19
Sur le 80...
En Suisse et en Belgique cela tourne de plus en plus vers le quatre-vingt.
Le octante était utilisé en Belgique mais semble s'être perdu, au point que beaucoup de belges l'ont oublié. Mon père avait appris à compter avec octante à Bruxelles et l'utilise encore ( moi aussi )...
Le octante est encore un peu usité en Suisse romande.
Le huitante est parfois utilisé en Suisse, mais surtout sur le canton de Vaud.
Septante et nonante sont courants en Suisse.
J'ai des échos que septante, octante et nonante était utilisés en France il y a longtemps, surtout dans le midi. C'est encore la version conseillée dans le dictionnaire de l'Académie et aussi la plus logique.
7 mars 2009 à 03:58
Ne pas oublier dans ta nouvelle version que le
chiffre 91 s'écrit : quatre-vingt-onze. Il n'y a
qu'à ajouter un tiret devant onze dans tabnb[].
24 oct. 2008 à 17:39
24 oct. 2008 à 17:28
24 oct. 2008 à 12:45
en Belgique
septante=70
quatre-vingt=80
nonante=90
une fois !
octante ça est suisse peut-être !
7 oct. 2008 à 18:31
Pouvez vous me confirmer qu'à part le 'octante' qui doit être 'quatre-vingt' en belge, le reste va bien merci :)
6 oct. 2008 à 21:36
1 oct. 2008 à 18:10
Sinon pour les parse cela allège les calculs, et l'utilisation de variables est très utile dans ce cas.
La solution que j'ai mise est à tester, mais logiquement elle devrait tenir le choc :p vu que ca cast en int alors on ne garde que le nombre des dizaines... A voir
1 oct. 2008 à 17:42
merci pour tes apréciations, effectivement il y a une nouvelle version qui est disponible, car depuis hier je pensais qu'il existe pas mal de solutions de ce genre, mais peut être pas une qui puisse a la fournir la syntaxe française et belge (je ne suis pas belge, je vis à la Réunion...) donc j'ai fait cette modif et à présent je vais passer à autre chose.
Désolé pour les commentaires, ce sera sans doute l'objet de la prochaine mise à jour s'il y a lieu :p.
Je vais essayer de répondre à tes questions, mais tu verra que dans cette version cela a changé :
pourquoi soixante et quatre-vingt sont en double ? par souci de versatilité, l'expression qui récupère le mot des dixaines dans le tableau de noms récupère l'index du mot dans le nombre à traduire (chiffre des dizaines - 2). A partir de 70 ou de 90 on doit poursuivre le cycle jusqu'a dix-neuf au lieu de revenir à "un, deux, etc...". Donc si j'avais stocké soixante-dix et quatre-vingt-dix dans ces indices, j'aurais eu des expressions comme "soixante-dix onze", etc.
Ce n'est plus vrai, j'ai complexifié un peu l'algo à cet endroit afin d'implémenter le belge.
On peut parfois faire plus joli, mais parfois il faut savoir faire simple pour économiser la vitesse... exemple :
if (stx.equals(BE))
mot = mot.replaceFirst(tabdix[6], "octante");
Concernant le parse à répétition, c'est pour ne pas me noyer dans les variable, mais tu as raison niveau performances c'est nul. :)
Pour ta solution
retour = retour + " " + tabdix[((int)convertedNumber/10) - 2] + et ;
c'est très judicieux, mais je suis de nature frileuse et les convertions implicites de décimal à entier me font peur... à tester pour le mettre à l'épreuve.
1 oct. 2008 à 11:22
je trouve ta source interessante, il va y avoir une autre source permettant de faire une conversion de lettre en chiffres ? :)
cette source a été bien programmée et est bien aboutie, bon code
par contre quelques remarques sur le code :
- il aurait ptètre été bien d'avoir des commentaires sur certaines lignes, par exemple ligne 175, pourquoi ne pas mettre soixante-dix ? Mais bon ca m'a rapellé comment écrire les nonmbres :p
# String[] tabdix = { "vingt", "trente", "quarante", "cinquante",
# "soixante", "soixante", "quatre-vingt", "quatre-vingt" } ;
- ligne 141
# Integer.parseInt(chaineAConvertir)
tu utilise cette fonction assez souvent, question de performance tu pourrais mettre dans une variable int et traiter cette variable, ainsi tu parserai moins de fois
int convertedNumber = Integer.parseInt(chaineAConvertir)
- et après ligne 207 (par exemple)
# retour = retour + " " + tabdix[Integer.parseInt(nombre.substring(0, 1)) - 2] + et ;
deviendait
# retour = retour + " " + tabdix[((int)convertedNumber/10) - 2] + et ;
Voila ce que j'en dit. A voir si c'est mieux ou pas
++ Petifa