- // String is just decimal degrees
- double numMins = fields[1] * 60.0 / denoms[1];
- _minutes = (int) numMins;
- double numSecs = (numMins - _minutes) * 60.0;
- _seconds = (int) numSecs;
- _fracs = (int) ((numSecs - _seconds) * 10);
- _asDouble = _degrees + 1.0 * fields[1] / denoms[1];
+ if (!otherDelims[1])
+ {
+ // String is just decimal degrees
+ double numMins = fields[1] * 60.0 / denoms[1];
+ _minutes = (int) numMins;
+ double numSecs = (numMins - _minutes) * 60.0;
+ _seconds = (int) numSecs;
+ _fracs = (int) ((numSecs - _seconds) * 10);
+ _asDouble = _degrees + 1.0 * fields[1] / denoms[1];
+ }
+ else
+ {
+ // String is degrees and minutes (due to non-decimal separator)
+ _originalFormat = FORMAT_DEG_MIN;
+ _minutes = (int) fields[1];
+ _seconds = 0;
+ _fracs = 0;
+ _asDouble = 1.0 * _degrees + (_minutes / 60.0);
+ }