明经通道 AutoLISP 函数  
rtos
 

将数字转换成字符串

(rtos number [mode [precision]]) 

根据 mode、precision 参数和系统变量 UNITMODE、DIMZIN、LUNITS 和 LUPREC 的设置,rtos 函数返回代表 number 的字符串。

参数

number

数值。

mode

整数,指定现行单位模式。mode 的取值对应于 AutoCAD 系统变量 lunits 的允许值,如下所示:

1 科学

2 小数

3 工程(英尺和十进制英寸)

4 建筑(英尺和分数英寸)

5 分数

precision

整数,指定精度。

mode 和 precision 参数对应于系统变量 LUNITS 和 LUPREC。如果省略这两个参数,rtos 函数使用 LUNITS 和 LUPREC 的当前值。

返回值

字符串。当选择了工程记数格式、建筑记数格式或分数单位格式时(即 mode 值为 3、4 或 5),UNITMODE 系统变量对返回的字符串有影响。

示例

设置变量 x:

命令: (setq x 17.5)

17.5

将 x 的值转换为科学记数格式的字符串,精度为 4:

命令: (setq fmtval (rtos x 1 4))

"1.7500E+01"

将 x 的值转换为小数格式的字符串,精度为 2:

命令: (setq fmtval (rtos x 2 2))

"17.50"

将 x 的值转换为工程记数格式的字符串,精度为 2:

命令: (setq fmtval (rtos x 3 2))

"1'-5.50\""

将 x 的值转换为建筑格式的字符:

命令: (setq fmtval (rtos x 4 2))

"1'-5 1/2\""

将 x 的值转换为分数格式的字符:

命令: (setq fmtval (rtos x 5 2))

"17 1/2"

当系统变量 UNITMODE 设为 1 时,则设定显示单位与输入单位相同,由 rtos 返回的字符串会因“工程”(mode = 3)、“建筑”(mode = 4) 和“分数”(mode = 5) 的单位不同而异。例如:

命令: (setvar "unitmode" 1)

1

命令: (setq fmtval (rtos x 3 2))

"1'5.50\""

命令: (setq fmtval (rtos x 4 2))

"1'5-1/2\""

命令: (setq fmtval (rtos x 5 2))

"17-1/2"

参阅

《Visual LISP 开发人员手册》中的 字符串转换

明经通道 版权所有 未经许可 不得传播

 评论