hallo zusamen,

wie kann ich ein double zu string umwandeln.
ich versuch zur Zeit ein Programm zu schreiben, das mir eine analoge Spannung misst und auf LCD anzeigt, und das Formatieren ist mein einziges Problem, ich habe es auch mit sprintf probiert klappt aber auch nicht!
ich habe es so gelöst :
Code:
#include <avr/io.h>
#include <inttypes.h>
#include <stdio.h>
#include "lcd.h"


void LCD(uint16_t result)
 
 {
  char buffer[5];
  int t;
  int x;

  t = result / 1000;
  x = result - (t * 1000);
  sprintf(buffer,"%d.%d V",t,x);
 // itoa(result,buffer,10);
  lcd_gotoxy(7,1); 
  lcd_puts(buffer);

 }


uint16_t readADC(uint8_t channel) 

{
	uint8_t i;
	uint16_t result = 0;
	
	ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1);// Den ADC aktivieren und Teilungsfaktor auf 64 stellen

	ADMUX = channel;// Kanal des Multiplexers waehlen
	
	ADMUX |= (1<<REFS1) | (1<<REFS0);// Interne Referenzspannung verwenden (also 2,56 V)
	
    ADCSRA |= (1<<ADSC);	// Den ADC initialisieren.. 
	while(ADCSRA & (1<<ADSC));// und einen sog. Dummyreadout machen
	
	for(i=0; i<3; i++) // Jetzt 3x die analoge Spannung and Kanal channel auslesen
	   {
		
		ADCSRA |= (1<<ADSC);// Eine Wandlung
		while(ADCSRA & (1<<ADSC));// Auf Ergebnis warten...
		result += ADCW;
	   }
	
	
	ADCSRA &= ~(1<<ADEN);// ADC wieder deaktivieren
	
	result /= 3;// und dann Durchschnittswert ausrechnen.
	
	return result;
}

int main(void) 
{
  lcd_init(LCD_DISP_ON);
  lcd_puts("Die Spannung =");

  while(1)
	{
	 uint16_t result = readADC(0);	//Auslesen der analogen Spannungen an Pin 0,
	 result*=2,56/1024;
	 LCD(result);				   // also ADC0. In result steht das Ergebnis.
	 } 
return 0;
}


aber irgendwie habe ich das Gefühl, dass es einfacher geht
hat jemand eine Idee.

Danke.