sprintf函数实现输入空格输出0_sprintf函数学习-MATLAB

c1453537c2cd2f00f2085bc844081b71.png

首先大概翻译一下帮助文档里面对sprintf函数的描述。

sprintf函数的官方定义是把数据格式转换成字符串或字符向量(Format data into string or character vector)。

语法结构有以下三种:

str = sprintf(formatSpec,A1, ... ,An):按照formatSpec定义的格式规范将列向量A1至An中的数据转换成字符,并将结果返回至str中。

[str,errmsg] = sprintf(formatSpec,A1, ... ,An) :当运算出错时,返回错误信息至errmsg,无错误时,errmsg为空。

str = sprintf(literalText):将文本literalText中的转义字符(如n和t)翻译出来并返回其他字符。如果literalText包含格式运算符(如%f),str会丢弃它和之后的字符。

在使用sprintf函数时,通常都是文本和向量一起作为输入,例如运行如下代码,就会返回str ='The array is 2x3.'

formatSpec = 'The array is %dx%d.';
A1 = 2;
A2 = 3;
str = sprintf(formatSpec,A1,A2)

我认为sprintf在使用时需要注意的是格式运算符,使用方法汇总如下:

%d是输出整型,%4d就是要求输出长度为4的整型,例如A = sprintf('%d',5)返回的是A='5',A = sprintf('%4d',5)返回的是A=' 5',不足的长度会用空格' '补充。但是我试了下用%d输出小数,发现也是可以输出的,如A = sprintf('%d',5.2)返回的是A='5.200000e+00',和A = sprintf('%e',5.2)的输出结果是一样的。

%e是按照科学计数法输出。

%g会根据数据的大小以及种类,合理的选择输出类型。

%f是输出小数,%6.2f的意思就是输出总长度为6,小数点后保留两位的小数,如A = sprintf('%6.2f',3.1415)返回的是A=' 3.14'.

%c是输出字符,%s是输出字符串。这两个的输出结果是不一样的,例如A = 'ZH', sprintf('A is %c',A)得到的是'A is ZA is H',而 sprintf('A is %s',A)得到的是'A is ZH'。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值