codice:
float value = (float)56.235; // vorebbe un double, anche se ci stà in un 
                                    // float
int intero = (int)value;
float decimale = value - intero;
il valore sarà difficilmente quello perfetto per via del sistema di rappresentazione dei valori floating point in binario, ma avrà una piccola variazione,

del tipo : .235 -> 2349999999
l'unico modo è limitare le cifre significative, ma come errore è estremamente ridotto