Il tuo problema è che stai utilizzando la funziona sbagliata per lo scopo.

La funzione IntToStr, come suggerisce il nome, converte un valore intero nella stringa corrispondente, mentre nel tuo caso devi convertire un valore a virgola mobile in stringa.
In un linguaggio estremamente tipizzato come Delphi, l'uso di un tipo al posto di quello che la funzione si aspetta non viene accettato in questi casi.

La funzione VarToStr probabilmente non segnala errori poichè accetta valori di qualsiasi tipo (Variant) in ingresso, ma di certo non è la funzione più performante in questo contesto; i Variant possono sensibilmente ridurre la velocità di esecuzione del programma data la loro complessità di memorizzazione e gestione.

Concludendo, è meglio se usi la funzione FloatToStr che, come suggerisce di nuovo il nome, converte da float a string.

L'elevato numero di cifre decimali probabilmente è causato dalla mancanza di un'indicazione sulla precisione che desideri ottenere, quindi tutte le cifre del numero decimale vengono mostrate. In questo caso, usa la funzione FormatFloat per specificare una stringa di formato da utilizzare per la rappresentazione del valore decimale sottoforma di stringa.

Un esempio:
codice:
MyLabel.Caption := FormatFloat('0.00', MyFloatValue);
Seleziona con il cursore FormatFloat o qualsiasi altra funzione e premi il tasto F1 per richiamare la Guida in linea di Delphi la quale saprà darti tutte le indicazioni necessarie.

Ciao!