java 左补0_Java格式化字符串,左对齐,左补0

本文介绍了在Java编程中如何实现字符串左对齐和数字右对齐的格式化输出。通过自定义函数`flushLeft`实现字符串左对齐,并展示了在控制台打印表格数据的应用。同时,演示了使用`DecimalFormat`和`String.format`方法对数字进行右对齐并补充前导零的两种方法。这些技巧在数据处理和输出格式规范中非常实用。
摘要由CSDN通过智能技术生成

今天在做java编程实现邮件发送的时候,遇到邮件发送的内容涉及表格形式的数据,不适合用附件,只能用对齐的形式来展现表格内容,一开始很苦恼,不知道该怎么对齐,最后写了下面这个函数,实现了格式化字符串,左对齐的功能,很简单的函数,却解决了问题。

下面这段代码,可以处理字符串的左对齐输出,可以自定义补充的字符(不仅限于‘ ’),可以自定义补充后字符串的长度。

package com.test;

public class TestFormat {

TestFormat(){

};

/* c 要填充的字符

* length 填充后字符串的总长度

* content 要格式化的字符串

* 格式化字符串,左对齐

* */

public String flushLeft(char c, long length, String content){

String str = "";

long cl = 0;

String cs = "";

if (content.length() > length){

str = content;

}else{

for (int i = 0; i < length - content.length(); i++){

cs = cs + c;

}

}

str = content + cs;

return str;

}

public static void main(String[]args){

TestFormat test1 = new TestFormat();

TestFormat test1 = new TestFormat();

String th1 = test1.flushLeft(' ',6 , "编号");

String th2 = test1.flushLeft(' ',10 , "内容");

String id1 = test1.flushLeft(' ',6 , "12");

String id2 = test1.flushLeft(' ',6 , "1233");

String name1 = test1.flushLeft(' ',10 , "abcde");

String name2 = test1.flushLeft(' ',10 , "1dd");

System.out.print(th1+th2+"\n");

System.out.print(id1+name1+"\n");

System.out.print(id2+name2+"\n");

}

}

我们在做数据处理的时候,根据具体要求,可能需要对某些数据,比如数字、字符串,进行格式化输出。其中较为常见的是对数字进行右对齐输出,比如右对齐,左补0.例如:数字12,格式化为0012,数字123,格式化为0123.

下面是实现该需求的两种方法,利用了java本身的格式化功能。

package test;

public class FormatTest

{

public static void main(String[] args) {

int number1 = 5;

int number2 = 0;

int number3 = -12;

System.out.println("\n------------------ 方法 1 ------------\n");

java.text.DecimalFormat format = new java.text.DecimalFormat("0000");

System.out.println(format.format(number1));

System.out.println(format.format(number2));

System.out.println(format.format(number3));

System.out.println("\n------------------ 方法 2 ------------\n");

// 0 代表前面补充0

// 4 代表长度为4

// d 代表参数为正数型

String str1 = String.format("%04d", number1);

String str2 = String.format("%04d", number2);

String str3 = String.format("%04d", number3);

System.out.println(str1);

System.out.println(str2);

System.out.println(str3);

}

}

1

0

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-11-03 17:25

浏览 20660

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值