也可以用於小時、分鐘、秒的轉換,但中間的分隔符只能是一位
msgbox dtodms
(1.51
,"度分秒"
)msgbox dmstod
("12度3分4秒"
)msgbox dmstod
("12h3m4.56s"
)msgbox dmstod
("12°3'4"")
支援度分秒之間使用任意非數字字元分隔,支援度分秒中存在小數
function dmstod
(dms as string)
dim sp(2
) as single
dim i as integer
dim sta as integer
on error resume next
dms=
trim
(dms
)do while isnumeric
(mid
(dms
, i,1)
) or mid
(dms
, i,1)
="."
i = i +
1loopsp(
0)=left
(dms
, i -1)
do until isnumeric
(mid
(dms
, i,1)
) or i >
len(
dms)
i = i +
1loop
if i <=
len(
dms) then
sta = i
do while isnumeric
(mid
(dms
, i,1)
) or mid
(dms
, i,1)
="."
i = i +
1 loop
sp(1
)=mid(
dms, sta, i - sta)
do until isnumeric
(mid
(dms
, i,1)
) or i >
len(
dms)
i = i +
1 loop
if i <=
len(
dms) then
sta = i
do while isnumeric
(mid
(dms
, i,1)
) or mid
(dms
, i,1)
="."
i = i +
1 loop
sp(2
)=mid(
dms, sta, i - sta)
end if
end if
dmstod =
round(sp
(0)+
sp(1)
/60+sp
(2)/
3600,4
)end function
支援自定義分隔符,支援自定義秒的小數字數
function dtodms
(d as single, optional spstr as string =
"°'"
"", optional deci as long =0)
dim sp(2
) as stringsp(
0)=int(d
)sp(1
)=int((d
-sp(0
))*60
)sp(2
)=round((
d-sp(
0)-sp
(1)/
60)*60
*60, deci)
dtodms =sp(
0)&mid
(spstr,1,
1)&sp
(1)&
mid(spstr,2,
1)&sp
(2)&
mid(spstr,3,
1)end function
度分秒和度的轉換
輸入的經緯度是 118.8000745,轉換為度分秒的格式 計算 度 就是 118度 分 用小數部分0.8000745 60 48.00447,分就是48分 秒 用分的小數部分 0.00447 60 0.2682 秒 寫了個qangle類,標頭檔案qangle.h 1 ifndef qangle h...
python分秒換算 如何將度分秒轉換為度分
我從gps接收緯度和經度,格式如下 緯度 北緯78 55 44.29458 我需要將此資料轉換為 緯度 78.928888889 我在這裡找到了這個 linkimport re def dms2dd degrees,minutes,seconds,direction dd float degrees...
EXCEL資料處理 經緯度轉換 度分秒轉換為小數
業務描述 紅框內110 10 15 這種格式的經度,我想轉換為110.36534這種格式。步驟 1.現將110 10 15 轉換為110度10分15秒這樣的格式。2.使用公式 left a2,find 度 a2 1 mid a2,find 度 a2 1,find 分 a2 find 度 a2 1 6...