Hola:
Supongo que si suma bien números enteros, bastaría con separar con un simple split la parte entera de la decimal, luego igualar el número de dígitos rellenando con ceros la fracción con menos dígitos (tal vez se te ocurra algo mejor) en la parte decimal, y usar el mismo algoritmo que la suma entera... Lo mismo con la parte entera, sin olvidar el posible acarreo de la parte decimal; y luego juntar ambas partes con un join, o una simple concatenación.
Saludos