decimal2sexagesimal function
Converts a decimal value to a sexagesimal string (degrees, minutes, seconds).
Implementation
String decimal2sexagesimal(double dec) {
final bool isNegative = dec < 0;
dec = dec.abs();
final int d = dec.floor();
dec = (dec - d) * 60;
final int m = dec.floor();
dec = (dec - m) * 60;
final double s = dec;
final String sStr = NumberFormat("00.00").format(s);
final String mStr = NumberFormat("00").format(m);
final String dStr = NumberFormat("00").format(d);
return "${isNegative ? "-" : ""}$dStr° $mStr' $sStr\"";
}