Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5119436
  • 博文数量: 921
  • 博客积分: 16037
  • 博客等级: 上将
  • 技术积分: 8469
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-05 02:08
文章分类

全部博文(921)

文章存档

2020年(1)

2019年(3)

2018年(3)

2017年(6)

2016年(47)

2015年(72)

2014年(25)

2013年(72)

2012年(125)

2011年(182)

2010年(42)

2009年(14)

2008年(85)

2007年(89)

2006年(155)

分类: Erlang

2018-12-21 16:18:42

io:format/2

按照指定的格式把数据写入到输出端上

用法:

  1. format(Format, Data) -> ok

把参数 Data 里的每一项根据 Format 的输出格式写入到默认输出端。

其中参数 Format 的写法形式是 "~F.P.PadModC"

  • F表示输出长度和格式
  • P表示输出精度
  • Pad表示输出填充字符
  • Mod控制类型的修饰
  • C表示控制类型

下面针对常用使用方法,贴出代码:
format.erl


  1. %%%-------------------------------------------------------------------
  2. -module(format).
  3. -author("lunay").

  4. %% API
  5. -export([format_chinese/0,
  6.   format_term/0,
  7.   format_c/0,
  8.   format_s/0,
  9.   format_f/0,
  10.   format_Bb/0,
  11.   format_Xx/0,
  12.   format_22/0
  13.   ]).

  14. format_chinese()->
  15.   %%打印中文文本
  16.   %%~t表示按unicode输出
  17.   Chinese = unicode:characters_to_list("中文文本", utf8),
  18.   %% Chinese = unicode:characters_to_list("中文文本"), 效果和上面一样
  19.   io:format("~ts~n", [Chinese]),

  20.   Chinese2 = unicode:characters_to_binary("中文文本二", utf8),
  21.   %% Chinese2 = unicode:characters_to_binary("中文文本二"),
  22.   io:format("~ts~n", [Chinese2]).

  23. format_term() ->
  24.   %%打印erlang本身的结构应该用的不少
  25.   io:format("~w~n", [[1, 2, 3]]),
  26.   io:format("~p~n", [{a, b, c, 1}]).

  27. format_c()->
  28.   %% c 输出多个重复的字符
  29.   io:format("~2c", "a"),
  30.   io:format("~2c", [$a]),
  31.   io:format("~2c", [97]),

  32.   %% 标识输出2个字符,1个是后面跟的字母,另一个位置用空格补充,从左开始,如果是”~-2.1c”是从右侧开始。
  33.   io:format("~2.1c", "a"),
  34.   io:format("|~10.5c|~-10.5c|~5c|~n", [$a, $b, $c]).

  35. format_s() ->
  36.   %% s 打印字符串,按手册说只接受list,atom, 2进制的结构。
  37.   %% s 按string语法规则输出 ,如果不带t ,参数可以使I/O 字符串,二进制数据或atom(不能使integer和float),
  38.   io:format("~s~n~s~n~s~n", [aaa,"xxxx", [33,44,55]]).
  39.   %% [33, 44,55] 字符列表

  40. format_f()->
  41.   %% 默认保留六位小数
  42.   io:format("~f~n",[97.1]),
  43.   %% 15.5表示 数字占15位,小数保留5位(保留时四舍五入)
  44.   io:format("~15.5f~n",[97.16578]),
  45.   %%保留1位小数
  46.   io:format("~15.1f~n",[97.16578]).

  47. format_Bb()->
  48.   %% 控制按多少进制显示 B 同b 值为2-36 默认是10
  49.   io:format("|~3.16b|~n",[31]),
  50.   io:format("~.16B~n", [31]),
  51.   io:format("~.2B~n", [-19]),
  52.   io:format("~15.16.2B~n", [-19]).

  53. format_Xx()->
  54.   %% X x 和B类似,比B多一个参数,显示在结果的前面
  55.   io:format("~X~n", [31,"1000#"]),
  56.   io:format("~.16X~n", [-31,"0x"]).

  57. format_22()->
  58.   %% #和B类似,在结果的前面显示进制数
  59.   io:format("~.10#~n", [31]),
  60.   io:format("~.2#~n", [-31]),
  61.   io:format("~.16#~n", [-31]).



阅读(1681) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~