找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 567|回复: 2

[教学] 新函数 xdrx_printf 介绍

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-2-16 19:23:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
2017.0216+API 新加入了  xdrx_printf 函数,是把C语言里面的printf函数给转接到ARX里面供LISP函数使用。 C语言的printf 非常的灵活和方便,看看介绍:

一、 Printf 输出格式

C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项。各项的意义介绍如下:
1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:
表示输出类型的格式字符       格式字符意义
a                                                                  浮点数、十六进制数字和p-计数法(C99)
A                                                                  浮点数、十六进制数字和p-计数法(C99)
c                 输出单个字符
d                 以十进制形式输出带符号整数(正数不输出符号)
e                 以指数形式输出单、双精度实数
E                 以指数形式输出单、双精度实数
f                  以小数形式输出单、双精度实数
g                 以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大   于等于精度时使用
G                 以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大于等于精度时使用
i                                                                   有符号十进制整数(与%d相同)
o                 以八进制形式输出无符号整数(不输出前缀O)
p                                                                  指针
s                 输出字符串
x                 以十六进制形式输出无符号整数(不输出前缀OX)
X                以十六进制形式输出无符号整数(不输出前缀OX)
u                 以十进制形式输出无符号整数


xdrx_printf 实现了里面的 d , f , g,x,o,e,s,其他的由于不符合LISP的数据类型所以没加入

看看用法:


1、整数和实数打印,支持printf的精度,整数前补位....

(xdrx_printf "\n选择到了%d个实体,其中多段线%d条,面积总和为:%.1f" num area)

命令: (setq num 3 area 3.435444)
3.43444
命令: (xdrx_printf "\n选择到了%d个实体,其中多段线%d条,面积总和为:%.1f" num num area)

选择到了3个实体,其中多段线3条,面积总和为:3.4


命令: (xdrx_printf "\n选择到了%d个实体,其中多段线%d条,面积总和为:%.2f" num num area)

选择到了3个实体,其中多段线3条,面积总和为:3.45

2、转8进制
命令: (xdrx_printf "%o" 100)
144


3、转16进制

命令: (xdrx_printf "%x" 100)
64


4、多余位去掉

命令: (xdrx_printf "%g" 2.340000)
2.34


5、科学计数法表示

命令: (xdrx_printf "%e" 234.455533)
2.344555e+002


6、整数带长度(前面补空格)

命令: (xdrx_printf "\n总共图元数:%10d" 40)
总共图元数:        40


7、实数带长度和小数位数(前面补空格)

命令: (xdrx_printf "\n总共图元数:%10.3f" 40)
总共图元数:    40.000


.........................................更多用法看C语音printf语法


xdrx_printf 是打印屏幕, 对应的字符串函数是 xdrx_string_format (返回字符串)

命令: (setq a (xdrx_string_format "\n选择到了%d个实体,其中多段线%d条,面积总和为:%.2f" num num area))
"\n选择到了3个实体,其中多段线3条,面积总和为:3.44"
命令: !a
"\n选择到了3个实体,其中多段线3条,面积总和为:3.44"

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 48个

财富等级: 招财进宝

发表于 2017-5-4 19:55:53 来自手机 | 显示全部楼层
这个东东非常好用,居然没有人顶?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 00:46 , Processed in 0.176768 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表