乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 44|回复: 4

[编程交流] 用于转换十进制de的函数

[复制链接]

56

主题

175

帖子

119

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
280
发表于 2022-7-5 15:49:35 | 显示全部楼层 |阅读模式
大家好,我写了一个程序来计算度数,现在,我想要一个函数来将十进制度数转换为度数和分钟,有人能帮我吗?
(对不起,我的英语很差)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:12:56 | 显示全部楼层
您可以使用angtof和angtos的组合。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:31:08 | 显示全部楼层
它只是数学1分钟=60秒1秒=360等等,只要继续固定小数并移动它。
 
30d 30’30”=30.50833333
 
所以fix=30
rem=。508333 * 60 = 30.49999
固定=30分钟
rem=。499999
*60=29.999999秒
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 16:39:39 | 显示全部楼层
 
 
另一种DIESEL方法,但不那么精确,需要四舍五入0.01
  1. (defun hp:deg->dms (x) ;hanhphuc
  2. (strcat (if (minusp x) "-" "")(itoa (fix (setq x (abs (atof (rtos x 2 5))))))
  3.   (menucmd (strcat "M=$(edtime,"
  4.                    (rtos (/ (* (+ x 1e-8) 3600.) 86400.) 2 15)
  5.                    ",° MM' SS)" )
  6.            )
  7.   """
  8.   )
  9. )
  10. (hp:deg->dms 30.50833333)
  11. ;"30°30'30""
  12. (hp:deg->dms -36.87)
  13. ;"-36°52'12""
  14. (hp:deg->dms (cvunit (atan 3 4) "radians" "degrees"))
  15. ;"36° 52' 11"
测试
  1. (defun c:BD2P ( / p1 p2 sudut jarak )
  2.   (ai_sysvar (mapcar 'cons '( "ANGBASE" "ANGDIR" "OSMODE" "DIMZIN") (list (/ pi 2.) 1 9 0)))
  3.   (and (setq p1 (getpoint "\nPilih titik 1 : "))
  4.        (setq p2 (getpoint p1 "\nPilih titik 2 : "))
  5.        (setq sudut (angle p1 p2))
  6.        (mapcar '(lambda (x) (set x (mapcar '+ '(0. 0.) (trans (eval x) 1 0)))) '(p1 p2))
  7.        (setq jarak (distance p1 p2))
  8.        (entmake
  9.          (list '(0 . "MTEXT")
  10.                '(100 . "AcDbEntity")
  11.                '(100 . "AcDbMText")
  12.                '(8 . "BDIST")
  13.                (cons 1 (strcat (hp:deg->dms (distof (angtos sudut 0 16))) "\\P" (rtos jarak 2 3)))
  14.                (cons 10 (mapcar '(lambda (a b) (/ (+ a b) 2.)) p1 p2))
  15.                (cons 40 (* jarak 0.025))
  16.                (cons 50 (angle p1 p2))
  17.                '(71 . 5)
  18.                '(72 . 5)
  19.          )
  20.        )
  21.   )
  22.   (ai_sysvar nil)
  23.   (princ)
  24. )

                            
回复

使用道具 举报

56

主题

175

帖子

119

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
280
发表于 2022-7-5 16:50:33 | 显示全部楼层
大家好,谢谢你们的回复,
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 13:06 , Processed in 0.673210 second(s), 62 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表