//数字度转字符串度分秒
    eg:34.0123°
    首先是34°
    然后小数部分60=0.012360=0.738取整数部分作为分即0′
    再取其小数部分0.73860=44.28得″
    因此转换为度分秒即为34°0’44.28″
    public string ConvertDigitalToDegrees(double digitalDegree)
    {
    const double num = 60;
    int dms_d = (int)digitalDegree;
    double temp = (digitalDegree - dms_d)
    num;
    int dms_m = (int)temp;
    double dms_s = (temp - dms_m) * num;
    dms_s = Math.Round(dms_s, 2);
    string degree = “” + dms_d + “°” + dms_m + “‘“ + dms_s + “‘’”;
    return degree;
    }

    //度分秒转换为毫秒
    3600+分60+秒成为秒,
    1000得毫秒
    public void ConvertDigitalToSecond(string digitalDegree, out string s, out string ss)
    {
    double dDegree = Convert.ToDouble(digitalDegree);
    const double num = 60;
    int dms_d = (int)dDegree;
    double temp = (dDegree - dms_d)
    num;
    int dms_m = (int)temp;
    double dms_s = (temp - dms_m) num;
    dms_s = Math.Round(dms_s, 3);
    double second = dms_d
    num num + dms_m num + dms_s;
    s = second.ToString();
    ss = (second * 1000.0).ToString();
    }

    //度分秒转数字度
    public double ConvertDegreesToDigital(string degrees)
    {
    const double num = 60;
    double digitalDegree = 0.0;
    int d = degrees.IndexOf(‘°’);
    if (d < 0)
    {
    return digitalDegree;
    }
    string degree = degrees.Substring(0, d);
    digitalDegree += Convert.ToDouble(degree);
    int m = degrees.IndexOf(‘′’); //分的符号对应的 Unicode 代码为:2032[1](六十进制),显示为′。
    if (m < 0)
    {
    return digitalDegree;
    }
    string minute = degrees.Substring(d + 1, m - d - 1);
    digitalDegree += ((Convert.ToDouble(minute)) / num);
    int s = degrees.IndexOf(‘″’); //秒的符号对应的 Unicode 代码为:2033[1](六十进制),显示为″。
    if (s < 0)
    {
    return digitalDegree;
    }
    string second = degrees.Substring(m + 1, s - m - 1);
    digitalDegree += (Convert.ToDouble(second) / (num * num));
    return digitalDegree;
    }