如何让一次性输入的几个数字都保留小数点后3位
file:///C:\Users\shizengxin\AppData\Roaming\Tencent\Users\379901776\QQ\WinTemp\RichOle\`}AH2BFH4XHQKG`}6YV8BAK.png(setq txt (getstring "\n请输入平面标高值±0.000:""prompt"t))
(if (= txt "")
(setq txt"%%P0.000")
)
(setq txt (strcat txt "平面" ))
(command "text" "j" "c" "non" pt1 600 0 txt)
如果输入的数字是“3.22 3.2”这样的,如何让最后写出的字是“3.220,3.200”
这里的数字个数不确定,可能是两个,也可能是3个。。。想要的结果是不论多少数字,最后每个数字都是小数点后3位
第一,设置系统变量dimzin为0,并使用getreal输入。
第二,输出时使用rtos函数把需要保留位数的数字转换为文本。 http://bbs.mjtd.com/thread-107567-1-1.html 因为输入的数字不是3.2这样的单个数,而是一次性输入几个数,需要的是最后返回的是每个数保留3位小数,比如一次性输入3.2 3.3 3.51这3个数,返回3.200 3.300 3.510 我的想法是先把这个3.2 3.22~3.51字符串转变成实型数,然后取出里面的每一个实型数,把它的精度改成小数点后三位,然后再合并到一起,不知这样行不行,有高手帮忙吗, ex.
(setq str "3.2 3.3 3.51")
(setq a (parsestr " "))
(setq b (mapcar 'atof a))
(foreach c b(rtos c 2 3))
===>
(foreach x (mapcar 'atof (parsestr " ")) (rtos x 2 3))
页:
[1]