Aide - Recherche - Membres - Calendrier
Version complète : Affichage des séparateurs décimal et milllier
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
naguttes
Bonjour,

Avez vous quelque part une fonction qui permette de transformer un nombre (entier ou flottant) en une chaine de caractère avec les séparateur de millier et la virgule décimale.

Merci
PS: je sais comment récupérer dans les préférences les séparateurs par défaut.
Patrice
Quelque chose comme StrLocalizeNumber() ? Après un StrPrintF() formaté avec séparateurs US...
Je dois avouer que j'ai tendance à faire ça à la main...
naguttes
CITATION(Patrice)
Quelque chose comme StrLocalizeNumber() ? Après un StrPrintF() formaté avec séparateurs US...
Je dois avouer que j'ai tendance à faire ça à la main...


Comment tu formates avec StrPrintF(), j'ai lu la doc et je n'ai pas trouvé le paramètre.
cancan
Pour ma part, je charge le séparateur de décimales en fonction des préférences système.
Etant donné que je ne travaille en interne qu'avec des entiers je suis obligé de faire une pitite moulinette pour séparer la partie décimale de la partie entière et j'envoie le tout au SPrintF comme suis:
CODE
StrPrintF(s, "%d%c%d", partEnt, decSep, partDec);

avec decSep qui est le séparateur de décimales.
Je sais c'est du bricolage, mais bon ça marche alors ..... anim_wink.gif
Il y a un truc pour le %d pour qu'il affiche correctement les nombres > 10, tu dois pouvoir trouver cela en faisant une recherche pour ma part j'ai rajouté du bricolage avec:
CODE
         if (partDec < 10)

           StrPrintF(s, "%d%c0%d", partEnt, decSep, partDec);

         else

           StrPrintF(s, "%d%c%d", partEnt, decSep, partDec);

Je sens que Patrice va hurler icon_lol2.gif
Patrice
Pour afficher les décimales (avec les 0 qu'il faut en préfixe), il y a quand même plus simple que le test < 10 : %02d comme chaîne de formatage...
cancan
Je savais bien que j'avais lu ça quelque part anim_wink.gif
Il me reste plus qu'à le mettre dans mon prog......
naguttes
Merci, ça c'est pour le point décimal, mais avez vous la même chose pour le séparateur des milliers?
olivier101
C'est du côté de StrLocalizeNumber qu'il faut regarder...

icon_arrow.gif http://www.palmos.com/dev/support/docs/pal...er.html#1065393

Attention l'entrée de StrLocalizeNumber est un nombre sous forme de chaîne, avec séparateurs au standard US (donc par exemple généré par un StrPrintF() )... StrLocalizeNumber remplace les séparateurs US par les séparateurs propres à la configuration régionale du palm.
naguttes
Merci Olivier,

J'ai vu la fonction StrLocalize mais ce que je cherche c'est comment tu fais pour convertir un entier (ou nombre) en une chaîne de caractère comportant le séparateur de millier avec la fonction StrPrintF.
Patrice
CITATION(olivier101)
C'est du côté de StrLocalizeNumber qu'il faut regarder...

Olivier, regarde le deuxième message du thread anim_wink.gif
olivier101
CITATION(Patrice)
CITATION(olivier101)
C'est du côté de StrLocalizeNumber qu'il faut regarder...

Olivier, regarde le deuxième message du thread anim_wink.gif
^
oups, désolé... je lis trop vite moi icon_bla.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.