品茗新秀 发表于 2014-5-10 11:45:12

求序号标注,如1写到l图上为一

本帖最后由 品茗新秀 于 2014-5-14 18:02 编辑

求序号标注,如1写到l图上为一,如2,写到图上为二,以此类推,如12写到图上为十二,如22写到图上为二十二,如-2,写到图上为负二,自已写了一个,实在太差了,求高手出手写一个学习一下。

edata 发表于 2014-5-10 11:45:13

本帖最后由 edata 于 2014-5-17 09:58 编辑

向院长致敬


;;;数字转汉字by edata@mjtd
;;;数字转汉字函数(int->str sk_n) sk_n 实数整型范围
(defun int->str(sk_n / sk- A I K LST LST2 S SK_N->STR1 SK_N->STR2 STR)
(setq sk_n->str1'((0 "零")(1 "一")(2 "二")(3 "三")(4 "四")(5 "五")(6 "六")(7 "七")(8 "八")(9 "九"))
sk_n->str2'((1 "")(2 "十")(3 "百")(4 "千")(5 "万")(6 "十万")(7 "百万")(8 "千万")(9 "亿万")(10 "十亿")
      (11 "百亿")(12 "万亿")(13 "兆")))
(if (< sk_n 0)(setq sk_n(abs sk_n) sk- "负"))
(if(= sk_n 0)(setq lst2 "零")
    (progn
      (setq str(rtos sk_n 2 0) lst'() i 0 lst2 "" )
      (while (/= (setq s(substr str (setq i(1+ i)) 1)) "")
(setq lst(cons s lst))
)
      (setq lst(reverse lst) k (1+(length lst)))
      (while(setq a(car lst))
(setq lst2(strcat lst2
      (cond
          ((and (= a "0") (= k 2)) "")
          ((and (= a "0") (> k 1)(= (cadr lst) "0"))(setq k(1- k)) "")
          ((and (= a "0") (> k 1)(/= (cadr lst) "0"))(setq k(1- k)) "零")
          (t (strcat(cadr(assoc (atoi a) sk_n->str1))(cadr(assoc (setq k(1- k)) sk_n->str2)))))
      ))
(setq lst(cdr lst))
)
      (if sk-(setq lst2(strcat sk- lst2)))
      lst2
      )
    )
)
;;;写文字程序
;;;输入实数整型范围
    (defun c:tt(/ i p k)
      (or(and (setq i(getreal "\nEnter integer number:"))(if (< i 0)(setq k t i (1+ i))(setq i(1- i))))(setq i 0))
      (if i
      (while (setq p (getpoint "\nInsert point:"))
(entmake (list '(0 . "TEXT")
         (cons 1 (int->str (cond
             ((and (not k) (= i -1))(setq i (1+ i)))
             (k (setq i (1- i)))
             (t (setq i (1+ i))))))
         (cons 10 p)
         (cons 40 50)
   )
)
      ))
      (princ)
    )

lucas_3333 发表于 2014-5-10 12:32:54

又来呢?请问一下,50个币是5毛还是5块?

kwok 发表于 2014-5-10 12:57:21

回楼上的1块是10明经币.

土豪.

陨落 发表于 2014-5-10 14:10:03

简单,为什么不自己写

ysq101 发表于 2014-5-10 15:58:51

kwok 发表于 2014-5-10 12:57 static/image/common/back.gif
回楼上的1块是10明经币.

土豪.

错。。。。10明经币等于回贴40次

ysq101 发表于 2014-5-10 16:00:04

贴出自己写的给别人看看??或许修修就可以用了

ll_j 发表于 2014-5-10 16:55:51

说真的,这个问题涉及数字汉字表达习惯问题,完全解决还是稍有难度的,不是程序算法问题,所以又不能算难。
不知该怎么说,假如我回答了这个问题,得到50个明经币,又能怎样?能买一碗馄饨么?或许不能。
实际上,没有愿意回答的人在意这几个明经币,但谁都希望自己的付出是值得的。
或许,楼主应该更关心别人为什么付出,我想,真正在这里热心的朋友,其实都并不缺这几个早餐的钱。
总有讨饭的,所以我也失去了同情心,怎么说呢,我们南京就有讨饭的比我阔绰,我能怎样?
我不知怎么说才好,总之,求渔,尽我所能(实际我也没有什么所能了),求鱼,肯定没有。

llsheng_73 发表于 2014-5-10 17:18:23

再次飘过呗

llsheng_73 发表于 2014-5-10 17:19:16

本帖最后由 llsheng_73 于 2014-5-10 17:21 编辑

把你自己写的"自已写了一个,实在太差了"贴出来,如果真能的完成了你的要求
只是程序显得太差了,估计很多人都可以帮你改了而不会要你一个币
页: [1] 2 3 4
查看完整版本: 求序号标注,如1写到l图上为一