Java左右补齐字符长度

Java左右补齐字符长度,如果是数字左补齐0的话可以用:String.format("0x%08X", i); //示例是把整数 i 转换成16进制的数字,不足8位左补0。具体代码如下:

 

/**
* 字符串补齐
* @param source 源字符串
* @param fillLength 补齐长度
* @param fillChar 补齐的字符
* @param isLeftFill true为左补齐,false为右补齐
* @return
*/
public static String stringFill(String source, int fillLength, char fillChar, boolean isLeftFill) {
if (source == null || source.length() >= fillLength) return source;
 
StringBuilder result = new StringBuilder(fillLength);
int len = fillLength - source.length();
if (isLeftFill) {
for (; len > 0; len--) {
result.append(fillChar);
}
result.append(source);
} else {
result.append(source);
for (; len > 0; len--) {
result.append(fillChar);
}
}
return result.toString();
}
 
public static String stringFill2(String source, int fillLength, char fillChar, boolean isLeftFill) {
if (source == null || source.length() >= fillLength) return source;
 
char[] c = new char[fillLength];
char[] s = source.toCharArray();
int len = s.length;
if(isLeftFill){
int fl = fillLength - len;
for(int i = 0; i<fl; i++){
c[i] = fillChar;
}
System.arraycopy(s, 0, c, fl, len);
}else{
System.arraycopy(s, 0, c, 0, len);
for(int i = len; i<fillLength; i++){
c[i] = fillChar;
}
}
return String.valueOf(c);
}  转载请注明诚信在线下载 http://www.ttt8888.com

转载于:https://www.cnblogs.com/ryry/p/3200346.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值