Convertir un float en string en C++ - C++ - Programmation
Marsh Posté le 13-05-2003 à 15:43:56
sprintf, ou snprintf si dispo (le second est mieux)
dans stdio.h
edit: zut j'avais pas vu que c'était C++ et pas C ça dépend quel string, Borland, STL, MFC ?
Marsh Posté le 13-05-2003 à 15:44:22
Si tu parles des CString
CString str.Format(_T("%.2f" ), float_machin);
Marsh Posté le 13-05-2003 à 15:46:39
va t en ANTP
Code :
|
et ça marche pour tous les types de bases
Marsh Posté le 13-05-2003 à 15:47:57
++Taz a écrit : va t en ANTP |
j'avais lu trop vite
Marsh Posté le 13-05-2003 à 15:55:19
++Taz a écrit : va t en ANTP
|
c'est du C++ sous Linux, je ne connais pas le type des Strings.
#include <sstream> ne passe pas !
Marsh Posté le 13-05-2003 à 16:06:21
quel compilo? et quelle version surtout?
Marsh Posté le 13-05-2003 à 16:13:49
polo021 a écrit : Si tu parles des CString |
il sert à quoi le _T() ??
parce que moi je fais juste monStringRouge.Format("%0.2f", floatmécoulepas) et ca marche...
Attention /!\ :
Marsh Posté le 13-05-2003 à 16:24:45
backdafuckup a écrit : |
je l'ai trouve comme ca dans l'MSDN a lors je me pose pas de questions
Marsh Posté le 13-05-2003 à 16:45:32
backdafuckup a écrit : |
C'est une macro des MFC qui indique que le texte auquel elle se rapporte est en unicode (dans le cas ou un #define UNICODE existe dans le projet)
Marsh Posté le 13-05-2003 à 16:46:08
polo021 a écrit : |
tu devrais, parce que t'en auras besoin le jour ou tu développeras des programmes localisés
Marsh Posté le 13-05-2003 à 16:51:10
Harkonnen a écrit : |
Je crois que je viens de comprendre... alors parce que je developpe pour win CE, il me faut le _T sinon il ne le faudrait pas? C'est bien ca?
EDIT : non en fait j'ai rien compris je crois
Marsh Posté le 13-05-2003 à 16:54:28
polo021 a écrit : |
localisé = multilangage
Marsh Posté le 13-05-2003 à 16:56:46
++Taz a écrit : et la version? |
je ne sais pas, on fait comment pour la savoir (désole d'etre un peu lourd )
Marsh Posté le 13-05-2003 à 17:01:59
Tetragrammaton IHVH a écrit : |
moi aussi je suis un peu lourd
genre de l'asm dans du c ou du cobol dans ada??
Marsh Posté le 13-05-2003 à 17:02:28
LMF a écrit : |
te laisse pas faire !
Marsh Posté le 13-05-2003 à 17:03:34
polo021 a écrit : |
euh, tu le fais expres la ou quoi ?
Marsh Posté le 13-05-2003 à 17:04:54
ReplyMarsh Posté le 13-05-2003 à 17:10:17
t'as compris qqchose toi backdafuckup?
je vois pas le rapport la!
Marsh Posté le 13-05-2003 à 17:13:00
polo021 a écrit : t'as compris qqchose toi backdafuckup? |
Ben non...
Moi j'avais compris comme toi, mais la je suis perdu
Marsh Posté le 13-05-2003 à 17:14:56
moi aussi je suis perdu. deja il faudrait preciser si vous parler de multilingue ds le sens plusieurs langage...de programmation(cfr ma remarque plus haut cobol-ada) ou alors plusieurs langues(anglais, francais, italien,...)
et dans tous les cas, je vois toujours pas le rapport avec :
Citation : tu devrais, parce que t'en auras besoin le jour ou tu développeras des programmes localisés |
Marsh Posté le 13-05-2003 à 17:15:55
++Taz a écrit : polyglotte (version grecque là |
Oui, la maintenant on a compris, mais au départ, je sais plus qui a dit multilangage, ce qui, pour des gens qui ont des claviers entre les doigts, interprètent logiquement comme : "programme réalisé dans plusieurs langages de programmation"...
C'est vous qui devriez prendre un dictionnaire...
edit: polo aka ptit homme> maintenant c'est clair, (cf polyglotte), ils parlent de plusieurs langues (anglais, allemand, tchèque, russo-polonais, afghan, etc...)
Marsh Posté le 13-05-2003 à 17:18:21
++Taz a écrit : localisé c'est l'angliscisme pour dire internationalisé |
Ben je suis désolé, mais moi on me dit localisé, j'ai pas le mot "internationalisé" qui me vient à l'esprit... Je sais pas si c'est un tort, mais bon...
En anglais, localized veut dire internationalisé ? Ou y a t il un rapport entre les deux ?
Marsh Posté le 13-05-2003 à 17:20:22
++Taz a écrit : localisé c'est l'angliscisme pour dire internationalisé |
oui mais comment on peut comprendre nous aussi avec tous ces quiproco et sous-entendus.
Donc pourquoi est ce que je devrait preter une attention quelconque a "_T" au cas ou je developperais pour l'international?
Parce que l'air de rien c'est un peu ce que je fais, donc ca m'interesse
Marsh Posté le 13-05-2003 à 17:22:53
locale à plusieurs traduction, mais localisation c'est pas français. on dit intertionalisé en Français
locale => international
je sais ça fait tres faut amis, mais c'est une question de mentalité
l'américain localise son programme pour de bougnoules qui parlent pas le "backdafuckup". Le Français internationalise son programme pour le rendre accessible au plus grand nombre
Marsh Posté le 13-05-2003 à 17:34:49
L'intérêt de mettre des "_T" (ou des "TEXT" ) lorsque tu déclares des chaînes de caractères est que si tu as défini la macro "UNICODE" alors tes chaînes seront en UNICODE. Le code de la macro "TEXT" (similaire à la macro "_T" ) doit être un truc dans le genre :
Code :
|
C'est pour ça également qu'il faut utiliser des LPTSTR, des TCHARs et autres petites joyeusetés.
Marsh Posté le 13-05-2003 à 22:30:32
polo021 a écrit : |
Parce que cette macro assure que la chaine qui suit est en Unicode, où les caractères sont codés sur 16 bits, au lieu de 8 pour le format ASCII standard. Ce qui peut se réveler très utile dans le cas d'alphabets assez fournis.
De plus, tous les systèmes à noyau NT supportent nativement l'Unicode. Tous les toolkits modernes (QT, .NET, etc...) codent leurs chaines nativement en Unicode. Y'a vraiment que les MFC pour ne pas le faire (est-ce surprenant ? )
Marsh Posté le 13-05-2003 à 22:39:45
Harkonnen a écrit : Y'a vraiment que les MFC pour ne pas le faire (est-ce surprenant ? ) |
non y a la VCL aussi (enfin, y a un gars qui s'est amuser à refaire des classes pour la majorité des trucs pour supporter l'Unicode)
Marsh Posté le 13-05-2003 à 22:41:47
antp a écrit : |
très juste, je me fais suffisamment chier au boulot avec ça d'ailleurs !
Marsh Posté le 13-05-2003 à 22:43:42
En Delphi c'est facile à contourner avec ça :
http://home.ccci.org/wolbrink/tnt/ [...] ntrols.htm
En Builder ça doit marcher aussi.
J'ai utilisé ça pour Ant Renamer pour supporter les noms de fichiers unicode.
Marsh Posté le 14-05-2003 à 02:00:02
Harkonnen a écrit : |
Elle n'assure pas que la chaîne soit en UNICODE... C'est pas tout à fait ça.
La macro est différente selon que tu compiles "pour" unicode ou pas:
- en UNICODE, elle rajoute le L devant tes chaînes de caractères.
- en normal, elle ne fait strictement rien!
Tout le monde utilise toujours cette macro, mais elle ne sert uniquement que si tu compiles avec #define _UNICODE...
Marsh Posté le 13-05-2003 à 15:34:22
Je souhaite savoir comment faire pour convertir un float en string en C++ et connaitre le "include" correspondant (math.h ?).