怎样获取中文字体的长度??
www.dimcax.com
怎样获取中文字体的长度??
(strlen "abcd")
;返回 4
(strlen "1234")
;返回 4
(strlen "")
;返回 4
(strlen "")
;返回 8 问题就出在这里。
(strlen "abcd")
;返回 12
怎样才能正确的获取字体长度。
无助,高手们帮帮忙。
d
哈哈,解决了。
贴出源码给大家参考下
(defun string_len ()
(setq str (getstring "输入字符:"))
(setq str_index 0)
(setq chinese 0)
(setq english 0)
(setq nn (strlen str))
(repeat nn
(setq str_index (+ str_index 1))
(setq str_word (substr str str_index 1))
(if (> (ascii str_word) 128)
(setq chinese (+ chinese 0.5))
(setq english (+ english 1))
)
);end repeat
(setq str_len (+ chinese english))
);end defun
d
不错不错。思路很好,用(if (> (ascii str_word) 128)来区分是英文还是中文。。虽暂无用。顶一下。
d