Mr. Teflon schrieb am 12.August.2009, 21:40:44 in der Kategorie pc.coding
>
> >
> > if(wert2 > 9.99) // wenn Temperatur kälter wie -99°C, dann
> > wert2 = 9.99; // wird Anzeige auf -99,9°C gesetzt
> >
> > D = wert2;
>
> > com_txd (D + 48); // Zehner Stelle als Ganzzahl an COM
> >
> > wert2 = wert2 - D;
>
//************************************* Long in Zeichenkette umwandeln
int ltoa_format(char *erg, long zahl, uint vk, uint nk, char vorz )
{ // Out-String, Eingabe, Vorkommastellen, Nachkommastellen, Vorzeichen \'+\' oder \' \'
long temp;
int i;
i = vk + nk + 1; // Stringlaenge
erg[i--] = 0; // Zeichenketten-Ende
if ( zahl == 0 ) erg[i--] = \'0\'; // Spezialfall 0
else
{
if ( zahl < 0 )
{
vorz = \'-\'; // negatives Vorzeichen
zahl *= -1; // mit positiver Zahl weiterrechnen
}
while( i >= 0 &&
( zahl > 0 || i+2*( nk != 0 ) > vk) ) // in vk ist vorz enthalten
{
if (i==vk&&nk!=0) erg[i--]=\'.\'; // Dezimalpunkt, wenn nk abgearbeitet
else
{
temp = zahl / 10; // ganzzahlige Division
erg[i--] = (zahl - temp*10) + 48; // Digit abtrennen und ASCII Zeichen ablegen */
zahl = temp; // fuer naechsten Durchlauf um 1 Digit verkuerzt */
}
}
if ( i >= 0 ) erg[i--] = vorz; // Vorzeichen schreiben
}
while( i >= 0 ) erg[i--] = \' \'; // Anfang mit Leerzeichen fuellen
return vk + nk + 1; // Stringlaenge zurueckgeben
}