Sparkfun Venus GPS cooedinates conversion

Has anyone, any idea on how can I convert the coordinates that Sparkfun Venus GPS is giving me to decimal?

The coordinates that gives me is this type @@@@.@@@@ and so far as I know this is decimal minutes.
I want to convert the inside the code to decimal.

I know that we keep the first 2 numbers and we divide the other part by 60 and then we add the 2 numbers that we have kept:

3800,3841---> 38 & 00,3841/60---> 38+0,0064016---> 38,0064016

but I don't know how to include this tranformation to my code...

All I want is the output of the gps to be translated into two decimal numbers one for longitude and one for latitude...

Any ideas??

I want to convert the inside the code to decimal.

That statement does not make sense. The value that you have is a string representation of a floating point value.

If you convert the string to a float, and the value is in degrees and fractional portions of a degree, and you want to map that to degrees, minutes, and seconds, that is trivial.

All I want is the output of the gps to be translated into two decimal numbers one for longitude and one for latitude...

Why do you need the values in degrees, minutes, seconds and fractions of a second? If you are calculating heading, you do NOT want the value in degrees, minutes, seconds, and fractions of a second.

I think you understand that the NMEA coordinate format, output by almost all GPS units, is DDDMM.MMMMM (not "decimal minutes").

So, in decimal degrees that is DDD + (MM.MMMMM)/60

However, floating point numbers on the Arduino can't hold more that 6-7 decimal digits, which means that longitude and latitude locations cannot be accurately represented. So it is not a good idea to do the conversion above as a floating point operation.

For the Arduino there are libraries like TinyGPS++ that keep track of latitude and longitude as integers, usually in millionths of a degree. They also include functions to calculate distance between points or headings, but those are done as floating point operations and are not as accurate as they could be.