CADghost 发表于 2004-6-11 08:10:00

如何实现字符串内数据相加或相乘

要求使用者任意输入一个字符串,形如 -12x6


在程序中如何使这个乘法得出结果。


如果是固定的位数我还有办法,现在问题是再出来 -150x20 怎么办?

无痕 发表于 2004-8-21 13:53:00

(defun tt (str)
(if (not cal)(arxload "geomcal.arx"))
(setq str (vl-string-translate "x" "*" str))
(abs(cal str))
)_$ (tt "-120x6")
720
_$ (tt "-15x3")
45

金鹅起飞 发表于 2024-9-30 11:13:18

ll_j 发表于 2004-6-13 22:22
看看我的Ce.lsp是否可用。




ll-j 大师您好!您的这个计算器太好了,可以解决好多的计算问题,非常感谢您分享这么好的插件!试用了下,发现选择项如果可以带记忆功能就更完美了,好多的计算都是相同的,选择项也相同,目前插件是每次都要输入选择项,带上上次的记忆功能,就不用每次去输入。如果您有时间更新下,就完美到极致了。:handshake

天宇飞翔12 发表于 2022-11-27 11:23:09

同问,不能运行呢

meflying 发表于 2004-6-11 08:26:00

x怎么可以呢?乘号怎么也得用“*”吧。。。


函数CAL

Ea 发表于 2004-6-11 08:41:00

CADghost发表于2004-6-11 8:10:00static/image/common/back.gif回复:(CADghost)如何实现字符串内数据相加或相乘要求使用者任意输入一个字符串,形如 -12x6



在程序中如何使这个乘法得出结果。


如果是固定的位数我还有办法,现在问题是再出来 -15

只要定下规则了都可以求,减号是第一个的结果变负。

CADghost 发表于 2004-6-11 17:56:00

嗯,怎么说呢,


其实这是一个零件的规格,前面的“-”,意思是板材。


“x”前的150是板宽,后面的就是板厚,我就是想把他们两个数提出来乘一下。

meflying 发表于 2004-6-11 18:46:00

(defun DivStr(str / i ch num num2)<BR>       (setq i 1 num "")<BR>       (repeat (strlen str)<BR>                       (setq ch (substr str i 1))<BR>                       (if (or (= ch "-") (= ch "x"))                                       <BR>                                       (progn<BR>        (setq num2 num)<BR>        (setq num "")<BR>                                       )<BR>                                       (setq num (strcat num ch))                                       <BR>                       )                       <BR>                       (setq i (1+ i))<BR>       )<BR>       (* (atof num) (atof num2))<BR>)

CADghost 发表于 2004-6-12 10:30:00

又学了一招,谢了!

ll_j 发表于 2004-6-13 22:22:00

看看我的Ce.lsp是否可用。


在提示输入第二组文字时回车输入1。


叶文军 发表于 2004-8-20 13:08:00

帅呆了,谢谢!

chenying0527 发表于 2011-7-5 22:34:27

加载
(defun DivStr(str / i ch num num2)
(setq i 1 num "")
(repeat (strlen str)
(setq ch (substr str i 1))
(if (or (= ch "-") (= ch "x"))
(progn
(setq num2 num)
(setq num "")
)
(setq num (strcat num ch))
)
(setq i (1+ i))
)
(* (atof num) (atof num2))
)
程序后不能运行?
页: [1] 2
查看完整版本: 如何实现字符串内数据相加或相乘