Entwickler-Ecke

C# - Die Sprache - konvertierungsprobleme


grisu2611 - Sa 03.11.07 16:47
Titel: konvertierungsprobleme
Hallo,
wahrscheinlich Anfängerfehler aber ich komme nicht weiter...

möchte gerne zb. von 13,6 nur die 13 stehen haben!

habe dieses ausprobiert

C#-Quelltext
1:
vorKommaZahl = Convert.ToInt32(spannungSpeicherInDateiName);                    



aber später viel mir dann ein es wird dann ja aufgerundet, also klappt es nicht!

Für Hilfe wäre ich dankbar!

Gruß Frank


Christian S. - Sa 03.11.07 17:11

Ein normaler Cast sollte reichen:

C#-Quelltext
1:
int ohneKomma = (int)mitKomma;                    


grisu2611 - Sa 03.11.07 17:14

hab meien Fehler gefunden!


C#-Quelltext
1:
vorKommaZahl = (int)spannungSpeicherInDateiName;                    


und alles wird gut....fast....

nun gehts weiter...

C#-Quelltext
1:
2:
vorKommaZahl = (int)spannungSpeicherInDateiName;
nachKommaZahl = (int)((double)(spannungSpeicherInDateiName - (double)vorKommaZahl) * 10.0);


möchte hier nun die nachkomma Zahl als eigenständige Zahl haben

nur bei 6 und 7 wird mir einer abgezogen!


Christian S. - Sa 03.11.07 17:19

user profile icongrisu2611 hat folgendes geschrieben:
nur bei 6 und 7 wird mir einer abgezogen!
Du sprichst in Rätseln ;-)


grisu2611 - Sa 03.11.07 17:22

ich bin ein rätsel....ab und zu denke ich hätte besser bäcker gelernt... :(

sorry

meinte:

zb bei 16,6 oder 11,7 also immer dann wenn 6 und 7 am ende stehen wird mir ein Zähler abgezogen und ich bekomme als ergebnis 16,5 oder 11,6


Christian S. - Sa 03.11.07 17:28

Folgendes liefert bei mir den korrekten Nachkommateil (natürlich bei nur einer Nachkommastelle):


C#-Quelltext
1:
2:
  Double d = 16.6;
  Double n = (d - (int)d)*10.0;


Zu beachten ist halt, dass man durch die nicht zu vermeidenden Ungenauigkeiten von Fließkommazahlen durchaus auch mal 2.99999999 statt 3 herausbekommen kann. Dann muss man runden.


grisu2611 - Sa 03.11.07 21:01

danke für die hilfe funkt....oder aber einfach den modulo-operator nutzen bin nur auf die erste stelle nach dem komma scharf aber das ist jetzt wieder ein thema: wie poste ich richtig! :? naja ich schäme mich ja schon!

so schönen abend noch!

gruß Frank