xiaoyixiaok 发表于 2016-1-18 12:46:08

小白的求助:数字四舍五入[不管是否有人帮助解决,我都会好好学会编程]

本帖最后由 xiaoyixiaok 于 2016-1-18 16:17 编辑

正是因为工作中的需要,才对lisp有了了解,比如统计多线段总长,对象翻转的小程序。。。眼下有一个批量操作一直想找解决办法,就是批量修改坐标的精度。如下图,坐标也是vba程序生成的,没法修改其源代码,家里电脑生成是4位小数,单位电脑是2位,我需要把这4位小数四舍五入到3位,或者2位。



论坛里搜索了,网上也找了,暂时没找到直接可以用的。我自己写一个程序也不可能,因为完全不会,所以先发出来求助。然后不管能否得到解决,我都好好学一下,争取以后能根据自己的工作需要写一些小程序。

补充一下:这些坐标都是单行文字

----------------------------------------------------
问题已经解决,7楼给了代码,谢谢。
但不是我自己写的,我要好好学,以后自己写



yaokui25 发表于 2016-1-18 13:00:35

试试这个吧

陨落 发表于 2016-1-18 14:01:22

;;;name:BF-math-rtos
;;;desc:保留小数位数(四舍五入)
;;;arg:Real:实数
;;;arg:prec:保留位数
;;;return:四舍五入后的字符串
;;;example:(BF-math-rtos 1.8000 3)
(defun BF-math-rtos (real prec / dimzin result)
    (setq dimzin (getvar 'dimzin))
    (setvar 'dimzin 0)
    (setq result (vl-catch-all-apply 'rtos (list real 2 prec)))
    (setvar 'dimzin dimzin)
    (if (not (vl-catch-all-error-p result))
      result
    )
)

https://coding.net/u/shanren/p/AutoLispBaseFunctionLibrary/git/blob/master/math-utils.lsp

xiaoyixiaok 发表于 2016-1-18 14:06:01

谢谢上面两位的回复。。。哈哈,小白的问题,当作起步,慢慢学习了

xiaoyixiaok 发表于 2016-1-18 14:07:09

我怎么还是一个币啊。。。。

lcxing 发表于 2016-1-18 14:32:13

                                                                     

ll_j 发表于 2016-1-18 14:57:20

到我的网络U盘下载ce.lsp,单行文本计算。
不专为四舍五入,可以统乘1,保留三位小数,改写。

xiaoyixiaok 发表于 2016-1-18 15:44:47

ll_j 发表于 2016-1-18 14:57 static/image/common/back.gif
到我的网络U盘下载ce.lsp,单行文本计算。
不专为四舍五入,可以统乘1,保留三位小数,改写。

谢谢了,可以用了。我需要再改改,让它直接替换原来的文字就好了

ll_j 发表于 2016-1-18 15:53:50

本帖最后由 ll_j 于 2016-1-18 15:57 编辑

xiaoyixiaok 发表于 2016-1-18 15:44 static/image/common/back.gif
谢谢了,可以用了。我需要再改改,让它直接替换原来的文字就好了
我的程序是可以直接替换的,使用时看着提示。功能太多,所以有些不太明显。

输出方式,选项字母o

xiaoyixiaok 发表于 2016-1-18 16:15:31

ll_j 发表于 2016-1-18 15:53 static/image/common/back.gif
我的程序是可以直接替换的,使用时看着提示。功能太多,所以有些不太明显。

输出方式,选项字母o

谢谢提醒。OK了。本来想评分 的,但没有了

谢谢。会用了。功能强大
页: [1] 2
查看完整版本: 小白的求助:数字四舍五入[不管是否有人帮助解决,我都会好好学会编程]