[Erlang]如何将整数转化为字符串
2014-11-03 16:55
351 查看
需求:把一个数字指定长度输出例如:
方法一:使用io_lib:format来构造:方法说明见:
所以只能自定义啦:方法三:自定义
1 | 00000001 |
12 | 00000012 |
1203 | 00001203 |
123456789 | 123456789 |
1234567 | 01234567 |
%%使用Io:fromat来输出~F.P.PadModC. %% ~F. ---> ~4. 宽度为F %% P. ---> . 无精度要求 %% Pad ---> 0 用Pad填充 %% Mod ---> 没有控制序列修饰符指定 %% C ---> B 控制为10进制输出 %% format_integer_8_digit(Num) -> lists:flatten(io_lib:format("~8..0B", [Num])).方法二:使用string:right/2来构造
%%使用string:right来构造 format_integer_8_digit2(Num)when is_integer(Num) -> string:right(integer_to_list(Num),8,0); format_integer_8_digit2(NumList) -> string:right(NumList,8,0).
方法一 | 1.如果给的数字大于8位就会输出* ,不符合需求2.不能指定填充的倍数,只能是写死为8,不灵活 |
方法二 | 1.如果给的数字大于8位,会把数字从右边起至第8位截断,不符合需求:123456789--->23456578 |
format_integer_8_digit3(Number, Padding) when Number < 0 -> [$- | format_integer_8_digit3(-Number, Padding - 1)]; format_integer_8_digit3(Number, Padding) -> NumberList = integer_to_list(Number), ZeroesNeeded = max(Padding - length(NumberList), 0), lists:flatten([lists:duplicate(ZeroesNeeded, $0), NumberList]).
通过以上的方法可以引申出:如何将一个整数完整的转换为字符串(无位数限制)
lists:flatten(io_lib:format("~B",[Num])).
相关文章推荐
- shell如何将字符串转化为整数
- PHP中如何将字符串转化为整数 (int) intval() printf() 性能测试
- shell如何将字符串转化为整数
- [置顶] 如何将比Long类型更大数值字符串转化为整数
- vb.net反射中如何将字符串转化为对象实例
- SqlServer 中Binary类型的数据如何转化为字符串
- 将字符串转化为整数,如"5683"->5683
- 如何判断一个长字符串能否被一个数整除(注意:长字符串很长,不能转换为整数)
- 编写整数字符串转化函数(不用itoa与atoi)
- 整数转化为任意n进制的字符串
- 从以空格为分隔符的整数字符串中分离出所有整数的Erlang程序
- 将整数转化为二进制字符串
- 整数转化成字符串; 字符串转换为整数
- 字符串分割+日期和整数的转化
- 如何将xml的String字符串转化标准格式的String字符串
- 将字符串转化为整数,如 "-123" --> -123
- 整数转化为字符串
- 字符串分割+日期和整数的转化
- 如何将一个整数转换成字符串
- 如何将org.w3c.dom.Element xml节点对象转化成XML格式的string字符串