[討論]有關多組數值加總後,加總數值固定呈現到小數點2位,不知有何方法?
4 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[討論]有關多組數值加總後,加總數值固定呈現到小數點2位,不知有何方法?
大家好:
附件為數值加總程式,加總數值固定呈現到小數點2位,不知有何方法?
(defun c:Sum()
(defun ylrtos(a);(a / l l1 b n)
(setq oluprec(getvar "luprec")) (setq l1 t l 1 b a n1 0)
(while l1 (setq b(* b l))
(if (= (fix b) b) (setq l1 nil) (setq l 10 n1(+ n1 1)) ) )
(if (> n1 8)(setq n1 8))
(setvar "luprec" n1)(setq a(rtos a))(setvar "luprec" oluprec)(setq a a) )
(defun dstr(a / l) (setq l(strlen a))
(while (> l 0) (if (= (substr a l 1) " ")(setq l(1- l) a(substr a 1 l))(setq l 0 a a)) ) )
(defun astr(a b) (setq l(- b (strlen a)))
(if (and(> l 0)(< l b))(repeat l (setq a(strcat a " ")))) a)
(apply '(lambda ();(/ p1 h sum yl n e m a zin ylrtos)
(prompt "選取要加總的 VA :")
(setq sum 0 yl(ssget) n(1- (sslength yl)))
(while (>= n 0)
(setq e(entget(ssname yl n)) m(cdr(assoc 0 e)) m1(cdr(assoc 1 e)))
(if (and(= m "TEXT")(or(= (type(read m1)) 'REAL)(= (type(read m1)) 'INT)))
(setq sum(+ sum (read m1))) )
(setq n(1- n)) )
(setq p1(entget(car(entsel "\n選取要改變的 VA 值: "))) sum(ylrtos sum))
(ENTMOD (SUBST (CONS 1 sum) (ASSOC 1 P1) P1))
(princ)
)'())
)
附件為數值加總程式,加總數值固定呈現到小數點2位,不知有何方法?
(defun c:Sum()
(defun ylrtos(a);(a / l l1 b n)
(setq oluprec(getvar "luprec")) (setq l1 t l 1 b a n1 0)
(while l1 (setq b(* b l))
(if (= (fix b) b) (setq l1 nil) (setq l 10 n1(+ n1 1)) ) )
(if (> n1 8)(setq n1 8))
(setvar "luprec" n1)(setq a(rtos a))(setvar "luprec" oluprec)(setq a a) )
(defun dstr(a / l) (setq l(strlen a))
(while (> l 0) (if (= (substr a l 1) " ")(setq l(1- l) a(substr a 1 l))(setq l 0 a a)) ) )
(defun astr(a b) (setq l(- b (strlen a)))
(if (and(> l 0)(< l b))(repeat l (setq a(strcat a " ")))) a)
(apply '(lambda ();(/ p1 h sum yl n e m a zin ylrtos)
(prompt "選取要加總的 VA :")
(setq sum 0 yl(ssget) n(1- (sslength yl)))
(while (>= n 0)
(setq e(entget(ssname yl n)) m(cdr(assoc 0 e)) m1(cdr(assoc 1 e)))
(if (and(= m "TEXT")(or(= (type(read m1)) 'REAL)(= (type(read m1)) 'INT)))
(setq sum(+ sum (read m1))) )
(setq n(1- n)) )
(setq p1(entget(car(entsel "\n選取要改變的 VA 值: "))) sum(ylrtos sum))
(ENTMOD (SUBST (CONS 1 sum) (ASSOC 1 P1) P1))
(princ)
)'())
)
chiwei- 一般會員
- 文章總數 : 16
年齡 : 55
來自 : 台中
職業 : 機電工程設計
愛好 : 學習新事物
個性 : 積極
使用年資 : 10
使用版本 : 2008
經驗值 : 5250
威望值 : 0
注冊日期 : 2010-10-04
回復: [討論]有關多組數值加總後,加總數值固定呈現到小數點2位,不知有何方法?
您好:
主題類型若為詢問方向或討論功能,請在主題前請加入[討論],顏色請指定為[綠色]。討論主題沒有時間限制。
[說明]發表主題前,請遵守相關要領!
http://autocad.bestoforum.net/forum-f12/topic-t1521.htm
謝謝您的配合~
主題類型若為詢問方向或討論功能,請在主題前請加入[討論],顏色請指定為[綠色]。討論主題沒有時間限制。
[說明]發表主題前,請遵守相關要領!
http://autocad.bestoforum.net/forum-f12/topic-t1521.htm
謝謝您的配合~
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]有關多組數值加總後,加總數值固定呈現到小數點2位,不知有何方法?
將 (setq p1(entget(car(entsel "\n選取要改變的 VA 值: "))) sum(ylrtos sum))
改成 (setq p1(entget(car(entsel "\n選取要改變的 VA 值: "))) sum(rtos sum 2 2))
試試看。
改成 (setq p1(entget(car(entsel "\n選取要改變的 VA 值: "))) sum(rtos sum 2 2))
試試看。
yu0678- 高級會員
- 文章總數 : 150
年齡 : 65
來自 : Taipei
職業 : 設計
愛好 : 設計
個性 : 無不良嗜好
使用年資 : 25
使用版本 : 2016
積分 : 10
經驗值 : 6041
威望值 : 634
注冊日期 : 2012-05-30
回復: [討論]有關多組數值加總後,加總數值固定呈現到小數點2位,不知有何方法?
謝謝,因為第一次使用所以不清楚造成困擾深感抱歉。
chiwei- 一般會員
- 文章總數 : 16
年齡 : 55
來自 : 台中
職業 : 機電工程設計
愛好 : 學習新事物
個性 : 積極
使用年資 : 10
使用版本 : 2008
經驗值 : 5250
威望值 : 0
注冊日期 : 2010-10-04
回復: [討論]有關多組數值加總後,加總數值固定呈現到小數點2位,不知有何方法?
謝謝 yu0678 幫忙,我試了一下,比如60及50兩個數值,加總後為110,但我想要能固定為110.00,不知如何修正,謝謝。
chiwei- 一般會員
- 文章總數 : 16
年齡 : 55
來自 : 台中
職業 : 機電工程設計
愛好 : 學習新事物
個性 : 積極
使用年資 : 10
使用版本 : 2008
經驗值 : 5250
威望值 : 0
注冊日期 : 2010-10-04
回復: [討論]有關多組數值加總後,加總數值固定呈現到小數點2位,不知有何方法?
https://www.autocad-tw.com/t14477-topic?highlight=%E9%A1%AF%E7%A4%BA
看到這篇 修改dimzin參數後…可以出現小數點後兩位…
不過 出來的結果是字串…
數值的部份…小弟也還在摸索…
給版大參考看看
看到這篇 修改dimzin參數後…可以出現小數點後兩位…
不過 出來的結果是字串…
數值的部份…小弟也還在摸索…
給版大參考看看
yilung016- 一般會員
- 文章總數 : 8
年齡 : 45
來自 : 新北市
職業 : 電子業
愛好 : 運動
個性 : 爽朗
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 3904
威望值 : 6
注冊日期 : 2014-04-23
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章