[Erlang22]如何按规则位数输出数字
| 1 | 00000001 |
| 12 | 00000012 |
| 1203 | 00001203 |
| 123456789 | 123456789 |
| 1234567 | 01234567 |
方法一:使用io_lib:format来构造:
%%使用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来构造
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]).
插播小Tip:
erlang:system_info(otp_release).
[Erlang22]如何按规则位数输出数字的更多相关文章
- printf格式输出数字,位数不够前面补0,适用与输出编号
printf格式输出数字,位数不够前面补0,适用与输出编号 printf格式输出:%[flags][width][.perc][F|N|h|l]type 用到了flags中的 0 (注意是零不是欧) ...
- java代码逆序输出数字
总结:请告诉我更好的方法~~~总觉得不好. package com.badu; import java.util.Scanner; //逆序输出数字: // class fa { public sta ...
- WPF中StringFormat的用法--显示特定位数的数字
原文:WPF中StringFormat的用法--显示特定位数的数字 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/huangli321456/art ...
- Python输出数字金字塔
使用Python输出一个数字金字塔 运行结果: 源代码: ''' Python输出数字金字塔 ''' for x in range(1,10): print(' '*(15-x),end='') n= ...
- 【matlab】输出固定位数的数字
有时候需要集中处理数字,比如处理图片,并将它们编号为000001~009963 而matlab用fprintf输出时这些数字编号时,需要指定格式: %.nd n表示n位长度.%d表示10进制数字 e. ...
- 有一个投篮游戏。球场有p个篮筐,编号为0,1...,p-1。每个篮筐下有个袋子,每个袋子最多装一个篮球。有n个篮球,每个球编号xi 。规则是将数字为xi 的篮球投到xi 除p的余数为编号的袋里。若袋里已有篮球则球弹出游戏结束输出i,否则重复至所有球都投完。输出-1。问游戏最终的输出是什么?
// ConsoleApplication5.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<vector> ...
- 使用BigDecimal进行精确运算以及格式化输出数字
一.引言 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供 ...
- 基于visual Studio2013解决面试题之0702输出数字
题目
- 【java】for循环输出数字金字塔
输出下列数字金字塔. 1 121 123211234321 public class deng { public static void main(String args[]) { int n ...
随机推荐
- ESN
1.对于一般的硬件设备,ESN是设备序列号,主要用来识别设备,包括未来服务鉴权的需要 2.对于需要license的设备,ESN也是设备序列号的意思,只不过这个序列号可能是根据设备硬件信息算出来的一串字 ...
- VS2017如何配置openGL环境
转自:http://blog.csdn.net/qq_26982531/article/details/62056913 这里着重介绍vs2017配置openGL环境与以前版本的不同之处: ...
- CFGym 101161I 题解
一.题目链接 http://codeforces.com/gym/101161/problem/I 二.题意 给定一棵树,一个初始的省会城市,若干个询问,0表示修改省会城市,1表示查询去省会必须经过指 ...
- 条件随机场(CRF)-IIS学习算法
改进的迭代尺度法(Improved Iterative Scaling),在很多模型求解中用到,比如最大熵.CRFs等,对模型是对数线性模型的似然都适用.这个算法的思想也很简单,通俗的理解就是通过两个 ...
- linux下创建具有root权限的账户
http://blog.chinaunix.net/uid-24631445-id-2981034.html
- 「小程序JAVA实战」小程序的视频展示页面初始化(63)
转自:https://idig8.com/2018/09/24/xiaochengxujavashizhanxiaochengxudeshipinzhanshiyemianchushihua62/ 进 ...
- 34.TokenInterceptor防止表单重复提交
转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 由于某些原因,用户在进行类似表单提交的操作后,以为表单未被提交,会进行多次的 ...
- 2013年最后的收成:avalon1.0正式发布
大半年前我就说过,MVVM是前端究极的解决方案,因此之后我大多数时间都在折腾avalon,成立了专门的QQ群与感兴趣的一起讨论.感谢第一批吃螃蟹的人,avalon发展得很快,GITHUB上的贡献人数达 ...
- react-navigation 3.x版本的push、navigate、goback、pop、dispatch等常用方法
一.方法简介 1. 应用中的每个页面组件都会自动提供 this.props.navigation this.props.navigation可以获取的一些方法: navigate - 转到另一个页面, ...
- 通过http流发送post请求
一般都是用curl扩展来完成,看了手册的通过stream的方式更加简单. 请求脚本stream.php $url = 'http://localhost/stream_api.php'; $body ...