通用补位函数

经常遇到要对某些数据进行补位的情况,有些是数据格式问题,有些是设计的问题,就抽空写了个拙劣的补位函数,

package TestPac;

public class DoCover {

/*******参数 bit 表示固定位数
*******参数 digit 要补位的数字
******参数TOF 表示前补位或后补位,true 前补位, false 后补位
******参数 str用来补位的字符,如0,1,a,b…
**********/
public static String doCover(Integer bit,Integer digit,boolean TOF,String str){
//将数字digit 转换成字符串string类型
//计算字符串 digit的长度length
//计算length与bit的差值diff
//根据TOF确定是要前补位还是后补位.TOF= true前补位,TOF= false后补位
//根据diff进行补位
String digit_str = digit.toString();
Integer diff = bit-digit_str.length();
StringBuffer sb = new StringBuffer(digit_str);
StringBuffer sb_str = new StringBuffer(str);

for(int i=0;i<diff;i++){
if(TOF){//前补位
StringBuffer blank_str = new StringBuffer("");
blank_str.append(sb_str);
sb = blank_str.append(sb);
}
else {// 后补位
sb = sb.append(str);
}
}
System.out.println("***=="+sb.toString());
return sb.toString();
}

public static void main(String[] args) {
// TODO Auto-generated method stub
doCover(4,3,true,"0");
doCover(4,23,true,"0");
doCover(4,756,true,"0");
doCover(4,1234,true,"0");
doCover(4,12345,true,"0");

doCover(4,3,false,"0");
doCover(4,23,false,"0");
doCover(4,756,false,"0");
doCover(4,1234,false,"0");
doCover(4,12345,false,"0");
}

}

时间: 2024-11-05 23:35:13

通用补位函数的相关文章

C 可变长参数运用-----编写Lua的通用调用函数

1.C可变长参数 printf这个使用频繁的C语言函数的参数列表包含一个const char*的描述串,还有一个可变长参数(...) ,如下为printf的函数声明. int printf(const char * __restrict, ...) 在stdarg.h这个头文件中包含着对可变长参数进行操作的一些宏(x86平台为例): #define va_start(ap,v)( ap = (va_list)&v + _INTSIZEOF(v) ) #define va_arg(ap,t) ( 

通用js函数集锦&lt;来源于网络&gt; 【二】

通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json方法10.extend方法11.类型判断的方法 数组方法集 Angela.array = { //# 数组方法 // index, 返回位置! 不存在则返回 -1: index: function (t, arr) { //# 返回当前值所在数组的位置 if (arr.indexOf) { return ar

报表开发中通用group_concat函数的实现方法

使用Jasper或BIRT等报表工具时,常会碰到一些非常规的统计,用报表工具本身或SQL都难以处理,如在MSSQL/Oracle中,想展现类似group_concat函数计算结果的报表. 集算器具有结构化强计算引擎,集成简单,可以协助报表工具方便地实现此类需求.下面以MSSQL为例,来说明通用group_concat函数的实现过程. MSSQL的表Table1有四个字段,字段Col1.Col2.Col3是分组字段,Col4是汇总字段,部分数据如下: 报表工具需要的数据源如下: 集算器代码: A1

模仿qsort() 实现一个通用排序函数:msort()

github:  https://github.com/youker-lxy/msort 截图: 对测试模块不是很了解,以下测试函数未实现: test_msort.c  测试 msort.c 的所有函数 test_generate_data.c  测试 generate_data.c 的所有函数 程序中只产生了int类型的随机数据并排序,未进行其他类型的排序. 总结: 1 通用排序函数实现: qsort()采用快排算法,传入参数为:数组首地址, 左侧下标, 右侧下标, 数组元素大小,  以及传入

IMP本质上是一个通用的函数指针

IMP:通用的函数指针 /// A pointer to the function of a method implementation. #if !OBJC_OLD_DISPATCH_PROTOTYPES typedef void (*IMP)(void /* id, SEL, ... */ ); #else typedef id (*IMP)(id, SEL, ...); #endif #if !OBJC_OLD_DISPATCH_PROTOTYPES OBJC_EXPORT void ob

通用js函数集锦&lt;来源于网络/自己&gt; 【一】

通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用户设备来源7.JS验证邮件地址是否合法8.JS获取字符串长度(区分中英文) 中文算2个字,英文一个9.检查手机号码是否合法10.验身份证号码是否正确11.删除cookie12.数组是否包函字符串元素13.后退14.向上滚动到指定位置15.判断是否为身份证16.判断是否为2~15字姓名17.修复IE中 inpu

公司Android项目公共通用的函数和方法

/** * 一些通用的函数 */ public class FunctionUtil { private static long lastClickTime = 0; /** * 开始用的这种,后来就不限制,调用checkPhone方法. 判断手机格式是否正确,在注册和修改手机号码的时候用到 * * @param mobiles * @return true:正确的手机号码 */ public static boolean isMobileNO(String mobiles) { // Patt

【discuzX2】/source/function/function_core.php通用核心函数库文件分析

[php] view plain copy print? <?php /** *      [Discuz!] (C)2001-2099 Comsenz Inc. *      This is NOT a freeware, use is subject to license terms * *      $Id: function_core.php 28890 2012-03-19 02:05:42Z liudongdong $ */ if(!defined('IN_DISCUZ')) { e

一个通用onReady函数的实现

define([], function(){ function onReady(fn) { var DOC = document, html = DOC.documentElement, W3C = document.dispatchEvent; //FF以前是没有readyState属性的 //判断body是否存在来决定DOM文档是否加载完毕 if (!DOC.readyState) { var readyState = DOC.readyState = DOC.body ? "complet