Hallo zusammen,
ich mache meine ersten Erfahrungen mit VC++ und habe ein kleines Programm mit MFC geschrieben.
Ich würde jetzt gerne eine Int-Zahle/double-Zahl in einen CString wandeln. Wie mache ich das am besten?
Vielen Dank für Eure Hilfe.
Gruß Michael
Hallo Michael
ich kann zwar kein C++
aber in PHP gibts einen festen „Baustein“ die heist „settype“
ein Beispiel hierzu:
*************************************************************
<?php $irgendwas = 3.00;
print gettype($irgendwas); // gibt string aus
settype($irgendwas, integer); // aendert den Datentypen
print " --$irgengwas
"; // gibt 3 aus
print gettype($irgendwas); // gibt integer aus
?\>
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
gettype ueberprueft nur den Datentype, man muss das natuerlich nicht auf den Bildschirm drucken, ich nehm diese Kontrolle meist raus wenn das Proggie fertig ist
eine zweite moeglichkeit waere ein "Casting" der Variable
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
<?php $irgendwas = 3.14;
$casting = (double) $irgendwas;
print gettype($casting); // gibt double aus
print " --$casting
"; // gibt 3,14 aus
$casting = (integer) $irgendwas;
print gettype($casting); //gibt integer aus
print " --$casting
"; // gibt 3 aus
?\>
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
ich hoffe ich konnte dir wenigstens den weg zeigen.
Viel spass noch
Matthias
>
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Michael,
z.B. so:
CString str;
double d = 1.23;
int i = 4;
str.Format("%d",i); // str == "4"
str.Format("%lf",d); // str == "1.23"
Es gibt in C++ allerdings auch eine String-Klasse und zwar ‚std::string‘, die um einiges mächtiger ist als die CString Klasse von MS. Zahlenumwandlungen macht man dann über sog. stringstreams, z.B. so:
#include
#include
using namespace std;
string str;
stringstream ss;
double d = 1.23;
int i = 4;
ss
Gruss Rolf
Nur 2 Nachkommastellen - Möglich?
Hallo Rolf,
herzlichen Dank. Das hat mir sehr weitergeholfen. Ist es möglich in diesem Befehl anzugeben, dass nur zwei Nachkommastellen angezeigt werden sollen? Danke.
Gruß Michael
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hab es selbst rausgefunden - Danke.
Habe es selbst rausgefunden.
Für zwei Nachkommastellen z.B. einfach:
str.Format("%.2lf",m_dbHorCM);
Gruß Michael