Decimal^ in int konvertieren: error C2440
-
Hallo
ich moechte den numerischen Wert eines numericUpDown- Elements mit dem Druecken eines Buttons auslesen und danach, fuer weitere Berechnungen, in einen integer-wert konvertieren. Das Auslesen funktioniert super.
Nur beim konvertieren erscheint die Fehlermeldung.
Ueber einen Hinweis waere ich sehr dankbar.Viele Gruesse
starter88
private: System::Void button1_Click(System::Object^ sender,System::EventArgs^ e)
{
Decimal^ val=numericUpDown1->Value; // funktioniertint k=int (val);
MessageBox::Show("hello "+val); // nur zum testen
}error C2440: '<function-style-cast>': 'System::Decimal ^' kann nicht in 'int' konvertiert werden
1> Es ist kein benutzerdefinierter Konvertierungsoperator verfügbar, oder
1> Ein Typ, der eine Adresse im gc-Heap darstellt, kann nur durch Festhalten in einen Integralwert konvertiert werden.
-
Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Decimal ist doch ein value Type. Warum erzeugst Du also en Handle auf den Valuetype?
Ansonsten verwende safe_cast/static_cast und val.ToString()!
-
Martin Richter schrieb:
Decimal ist doch ein value Type. Warum erzeugst Du also en Handle auf den Valuetype?
Ansonsten verwende safe_cast/static_cast und val.ToString()!
vielen dakn fuer die schnelle antwort...
Koenntest du mir die erste variante zeigen ?
waere super....
-
ich habe jetzt folgendes versucht, leider immer noch fehlermeldungen
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
Decimal^ val=numericUpDown1->Value;int k;
k=static_cast<int>(val);MessageBox::Show("hello "+val);
}error C2440: 'static_cast': 'System::Decimal ^' kann nicht in 'int' konvertiert werden
1> Es ist kein benutzerdefinierter Konvertierungsoperator verfügbar, oder
1> Es gibt keinen Kontext, in dem diese Konvertierung möglich ist
-
Warum liest Du nicht was ich schreibe. Las das Handle weg!
Decimal val=numericUpDown1->Value;
Versuche doch mal zu verstehen was Value-Types und Reference-Types sind!
und bitte verwende Codetags!
-
es funktioniert und den unterschied zwischen value und reference kenne ich nun auch....
vielen dank, wirklich ein super forum...