假设有1位 2位 3位 到6位的数字 不足六位的前面加0,格式化输出,怎么能实现?
实现一:
substr(as.character(1:10+1000000),2,7)
[1] "000001" "000002" "000003""000004" "000005" "000006" "000007""000008" "000009" "000010"
实现二:
sprintf("%06.f",1:3)
[1] "000001" "000002" "000003"
扩展:
1、任务编程中,通常需要指定的格式。R能有效的控制字符串格式,通过函数sprintf可以实现。
2、Sprintf继承自C语言中的同名函数,经过封装,在R环境中的实现。
3、Sprintf:String_print_format
4、用法:sprintf(fmt,...)
5、参数fmt,格式表征,为字符串,最大长度8192字节。定义了实现语法,由字符%起始,aAdifeEgGosxX%(其中任意一个)结束,更多详细的解释清参照文档。
6、解决方案实例解释:
%06.f:
% 开始符
0 是"填空字元"表示,如果长度不足时就用0来填满。
6 格式化后总长度
f 浮点数,小数位长度可以通过数字控制,如2f即2位
No comments:
Post a Comment