如何将实数型角度转化为弧度
在输入角度时能否输入实数型角度例如:方位角=56度1分42.02秒输成:56.014202
方位角=138度23分3.77秒输成:138.230377
方位角=222度51分48.95秒输成:222.514895
方位角=316度6分23.20秒输成:316.062320
即可实现角度转换成弧度
(defun c:jzh () ;;;;;角度转弧度
(setq a (getstring "\n 请输入角度值<例:36°12′45″输入361245>----A:"))
(cond
((= (strlen a) 5)
(setq ad (substr a 1 1 ))
(setq am (substr a 2 2 ))
(setq as (substr a 4 2 ))
)
((= (strlen a)6)
(setq ad (substr a 1 2 ))
(setq am (substr a 3 2 ))
(setq as (substr a 5 2 ))
)
((= (strlen a) 7)
(setq ad (substr a 1 3 ))
(setq am (substr a 4 2 ))
(setq as (substr a 6 2 ))
)
)
(setq a1 ( atof ad ))
(setq a2 ( atof am ))
(setq a3 ( atof as ))
(setq ar (+ a1 (/ a2 60) (/ a3 3600)))
(setq ard (/ (* ar pi) 180))
(print ard)
(setq ard1 (rtos ard 2 6))
(setq msg (strcat "\n" a"的弧度值:" ard1))
(alert msg)
(princ)
)
;; num2rad 度分秒数值转弧度 (num2rad 138.230377)
(defun num2rad (num / a b e)
(setq a (fix num)
num (- num a)
num (* num 1e+2)
b (fix num)
num (- num b)
num (* num 1e+2)
e (+ a (/ b 60.) (/ num 3600.))
)
(* (/ e 180.0) pi)
) (defun c:hzj () ;;;;;弧度转角度
(setq a (getreal "\n请输入弧度值----A:"))
(setq ard (/ (* a 180) pi))
;(setq ard (angtos a 0 4))
(print ard)
(prin1)
)
n*pi/180不就行了么? 不行吧!试过了 gaomingabc456 发表于 2017-10-8 08:38
(defun c:hzj () ;;;;;弧度转角度
(setq a (getreal "\n请输入弧度值----A:"))
(setq ard (/...
谢谢大神无私奉献源码
xyp1964 发表于 2017-10-8 18:41
;; num2rad 度分秒数值转弧度 (num2rad 138.230377)
(defun num2rad (num / a b e)
(setq a (fix num ...
大神能给一下num函数吗 13648893846 发表于 2017-10-8 20:28
大神能给一下num函数吗
你这个问题问的 我给满分 gaomingabc456 发表于 2017-10-8 08:35
(defun c:jzh () ;;;;;角度转弧度
(setq a (getstring "\n 请输入角度值----A:"))
(cond
能否改成输入36.1245
页:
[1]
2