io:format/2
按照指定的格式把数据写入到输出端上
用法:
-
format(Format, Data) -> ok
把参数 Data 里的每一项根据 Format 的输出格式写入到默认输出端。
其中参数 Format 的写法形式是 "~F.P.PadModC"
-
F表示输出长度和格式
-
P表示输出精度
-
Pad表示输出填充字符
-
Mod控制类型的修饰
-
C表示控制类型
下面针对常用使用方法,贴出代码:
format.erl
-
%%%-------------------------------------------------------------------
-
-module(format).
-
-author("lunay").
-
-
%% API
-
-export([format_chinese/0,
-
format_term/0,
-
format_c/0,
-
format_s/0,
-
format_f/0,
-
format_Bb/0,
-
format_Xx/0,
-
format_22/0
-
]).
-
-
format_chinese()->
-
%%打印中文文本
-
%%~t表示按unicode输出
-
Chinese = unicode:characters_to_list("中文文本", utf8),
-
%% Chinese = unicode:characters_to_list("中文文本"), 效果和上面一样
-
io:format("~ts~n", [Chinese]),
-
-
Chinese2 = unicode:characters_to_binary("中文文本二", utf8),
-
%% Chinese2 = unicode:characters_to_binary("中文文本二"),
-
io:format("~ts~n", [Chinese2]).
-
-
format_term() ->
-
%%打印erlang本身的结构应该用的不少
-
io:format("~w~n", [[1, 2, 3]]),
-
io:format("~p~n", [{a, b, c, 1}]).
-
-
format_c()->
-
%% c 输出多个重复的字符
-
io:format("~2c", "a"),
-
io:format("~2c", [$a]),
-
io:format("~2c", [97]),
-
-
%% 标识输出2个字符,1个是后面跟的字母,另一个位置用空格补充,从左开始,如果是”~-2.1c”是从右侧开始。
-
io:format("~2.1c", "a"),
-
io:format("|~10.5c|~-10.5c|~5c|~n", [$a, $b, $c]).
-
-
format_s() ->
-
%% s 打印字符串,按手册说只接受list,atom, 2进制的结构。
-
%% s 按string语法规则输出 ,如果不带t ,参数可以使I/O 字符串,二进制数据或atom(不能使integer和float),
-
io:format("~s~n~s~n~s~n", [aaa,"xxxx", [33,44,55]]).
-
%% [33, 44,55] 字符列表
-
-
format_f()->
-
%% 默认保留六位小数
-
io:format("~f~n",[97.1]),
-
%% 15.5表示 数字占15位,小数保留5位(保留时四舍五入)
-
io:format("~15.5f~n",[97.16578]),
-
%%保留1位小数
-
io:format("~15.1f~n",[97.16578]).
-
-
format_Bb()->
-
%% 控制按多少进制显示 B 同b 值为2-36 默认是10
-
io:format("|~3.16b|~n",[31]),
-
io:format("~.16B~n", [31]),
-
io:format("~.2B~n", [-19]),
-
io:format("~15.16.2B~n", [-19]).
-
-
format_Xx()->
-
%% X x 和B类似,比B多一个参数,显示在结果的前面
-
io:format("~X~n", [31,"1000#"]),
-
io:format("~.16X~n", [-31,"0x"]).
-
-
format_22()->
-
%% #和B类似,在结果的前面显示进制数
-
io:format("~.10#~n", [31]),
-
io:format("~.2#~n", [-31]),
-
io:format("~.16#~n", [-31]).
阅读(1670) | 评论(0) | 转发(0) |