欢迎光临散文网 会员登陆 & 注册

[VEX] printf和sprintf

2022-11-07 21:54 作者:pandahgt  | 我要投稿

vex里的printf相当于C语言里的printf的简化版。

sprintf和printf用法一样,不同的是sprint返回字符串,而printf输出字符串到控制台。

因为sprintf在vex里有实际用途,所以下面的例子都用sprintf。


函数的作用

对于一个已经声明的变量a,a是字母,同时它又是这个变量的名字。如果我们想要一个string中的a不是字母a,而是a代表的实际数值,就需要用一种方法告诉电脑这个a是字母a还是变量a。

sprintf函数就是这个作用,能将变量转化成特定格式的字符串。

用法

普通用法

普通用法

在sprintf的函数里,用%符号表示要进行转换,%后面接4个特殊标记表示转换成什么样的格式,这4个特殊标记的名字分别是[flags][width][.precision][format],然后再在字符的外面接要转换的变量。比如

其中“-” “3” “.3” “f”是特殊标记,需要转换的变量a紧跟在逗号后面。

这些特殊标记用不同的数字字母或符号来表示某种格式,比如第三个“.3”表示保留小数点后3位。当不需要某种格式时,也可以省略掉某个标记,当然%不能省略,最后一个[format]也不能省略。同一个字符里能多次转换。

省略写法




[flags]

  • -:结果将在字段中左对齐

  • +:对于正值,数字值将带有前缀+。此标志的非标准行为是在设置标志时将引用字符串参数+

  • 0:对于数值,前导零用于填充字段。

flags

[width]

宽度

宽度可以由一位或多位十进制数字指定。或者,如果给出星号 ( *),则宽度将从printf参数列表中的下一个值获取。

width


[.precision]

精确

精度可以由一位或多位十进制数字指定。或者,如果给出星号 ( *),则宽度将从printf参数列表中的下一个值获取。


precision

[format]

%g%p,%c

以“一般”形式打印整数浮点数、向量、向量 4、矩阵 3、矩阵或字符串。

%f%e,%E

以浮点形式打印浮点数、向量、向量4、矩阵3或矩阵。

%s

打印一个字符串。

%d,%i

以十进制打印整数变量。

%x,%X

以十六进制打印整数变量。该值将以“0x”为前缀(即0×42)。

%o

以八进制打印整数变量。

%%

打印百分号 (%)。

format








[VEX] printf和sprintf的评论 (共 条)

分享到微博请遵守国家法律