Re: Probleme mit Modul strx Kategorie: Programmierung (von heiko - 12.01.2007 11:32) | ||
Als Antwort auf Probleme mit Modul strx von heiko - 10.01.2007 20:55 | ||
| ||
Hallo, ich habe das Problem nun durch folg. Funktion geklärt, mich würde aber trotzdem interessieren, warum strx.left und strx.right keine richtigen Werte liefert. function Temp2string (int DSint, string DSstring) {int Rest, ganzzahl; string string1,lastchar; str.clear(string1); str.clear(lastchar); Rest=0; Rest = DSint % 10; if Rest>0 DSint=DSint-Rest; ganzzahl=DSint/10; str.putint(string1,ganzzahl); str.putint(lastchar,Rest); DSstring=string1 + "." + lastchar; } Gru� Heiko > Hallo, > ich habe aktuell in meinem Projekt ein Problem mit den strx-Funktionen. > > Da ich DS1631 auslese und deren Me�wert (int bei dem die letzte Ziffer eine Nachkommastelle ist) > als string in eine Variable schreiben möchte, habe ich mir folg. Funktion deklariert. > Funktion daher, weil ich mehrere Werte umwandeln mu�. > > > function Temp2string (int DSint, string DSstring) > {int SLen; > string string1,lastchar; > str.clear(DSstring); > str.clear(string1); > str.clear(lastchar); > > str.putint(DSstring,DSint); > /* DSstring wird noch richtig gefüllt */ > SLen = str.length(DSstring); > /* Länge wird noch erkannt */ > SLen = SLen-1; > strx.left(DSstring,string1,SLen); > /* string1 ist nach der Opp leer */ > strx.right(DSstring,lastchar,1); > /* lastchar ist nach der Opp leer */ > str.putstring(DSstring,string1); > str.clear(DSstring); > str.putstring(DSstring,string1); > str.putstring(DSstring,"."); > str.putstring(DSstring,lastchar); > sleep 200; > lcdext.goto(1,11); > lcdext.print(DSstring); > sleep 200; > } > > > > Die Funktion soll den DSint-Wert einlesen, die letzte Ziffer trennen und dann wieder > mit einem "Punkt" dazwischen zusammenfügen. Dann als DSstring übergeben. Letztendlich nichts > anderes, als es die Funktion lcdext.zahl4n1 macht, aber eben nicht aufs Display schreiben, sondern > in einen String. > > Mein Problem ist, da� die Funktion bis zur Bestimmung der Stringlänge durchläuft, das Ergebniss > der strx.left und strx.right Aufrufe jeweils leere Strings ergeben und dann das Kontrollergebniss auf dem > Display so aussieht '_._' (die Unterstriche sind Leerzeichen). > > Kann jemand einen Fehler erkennen? > Oder gibt es ev. eine komfortablere Möglichkeit der Umwandlung eines Int-Wertes z.B. 210 in einen String-Wert > 21,0 (eine Nachkommastelle). > > Gru� Heiko | ||
Antwort schreiben Antworten: Re: Probleme mit Modul strx (von André H. - 12.01.2007 13:22) Re: Probleme mit Modul strx (von heiko - 12.01.2007 15:17) Re: Probleme mit Modul strx (von André H. - 13.01.2007 10:55) Re: Probleme mit Modul strx (von heiko - 13.01.2007 16:23) Re: Probleme mit Modul strx (von André H. - 14.01.2007 19:53) |