Interesting problem. I would divide the remainder by 60 to find out how many units of "hours" are in it and then use the remainder from that as the new number of minutes. Here is a formula I wrote for you. Replace the variable OldTime with whatever field has your time stored in it.

NumberVar OldTime := 3.72;

NumberVar NewTime;

NumberVar Hours;

NumberVar Minutes;

//Extract the number of hours

Hours := Int(OldTime);

//Get the decimal portion for minutes

Minutes := Remainder(OldTime, 1) * 100;

//Divide the minutes by 60 to increase the number of hours

Hours := Hours + Int(Minutes / 60);

//Get the remainder for the number of minutes left over

Minutes := Remainder(Minutes, 60);

//Add it all together to get back to the format you want

NewTime := Hours + (Minutes / 100);

I have complete coverage of all the mathematical functions and sample code for how to use them in Chapter 6 of my book

Crystal Reports Encyclopedia