Java格式化详细示例

package org.java.subject1;

import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class Formatting {

	/**
	 * 格式化并不改变原来的值,只是以某种格式打印输出改值;
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	}

	// System类的数值格式化方法;
	// public static void vprintf(double x) {
	// System.out.printf("%6.2f%6.2f\n", x, x);
	// System.out.printf("%-6.2f%-6.2f\n", x, x);
	//
	// }

	public static void vprintf(double x) {
		System.out.printf("%,20.2f\n", x); // 添加分组逗号分隔符;
		System.out.printf("%+20.2f\n", x); // 添加正负号;
		System.out.printf("%(20.2f\n", x); // 将负数括在括号内;
		System.out.printf("%020.2f\n", x); // 数字前面补0;
		System.out.printf("%1$d,%1$x\n", (int) x); // 对后面的选项条目按照给定的格式化参数多次打印;
		System.out.printf("%d,%<x\n", (int) x);
		// 以多种格式化参数格式化前面说明的某一数值;<标志指示前面格式说明中的参数将再次被使用;
	}

	// String类的格式化方法;
	// public static void vprintf(double x) {
	// // 利用String.format();可以返回类似上述目的的格式化的数值字符串;
	// String string = String.format("%,20.2f", x);
	// System.out.println(string);
	// }

	// System类的格式化方法格式化日期;
	public static void vprintf(Date date) {
		Locale.setDefault(Locale.US);
		// 该类的所用格式化参数可以用String.format()方法重写;
		System.out.printf("%tc\n", date); // 完整的日期;
		System.out.printf("%tF\n", date); // ISO标准格式日期;
		System.out.printf("%tD\n", date); // 美国格式日期;
		System.out.printf("%tT\n", date); // 24小时时间;
		System.out.printf("%tr\n", date); // 12小时时间;
		System.out.printf("%tY\n", date); // 四位数的年;
		System.out.printf("%tB\n", date); // 月的完整拼写;
		System.out.printf("%tb\n", date); // 月的缩写;
		System.out.printf("%tm\n", date); // 两位数的月;
		System.out.printf("%td\n", date); // 两位数的日;
		System.out.printf("%tA\n", date); // 星期几的完整拼写;
		System.out.printf("%ta\n", date); // 星期几的缩写;
		System.out.printf("%tH\n", date); // 两位数的小时;
		System.out.printf("%tM\n", date); // 两位数的分钟;
		System.out.printf("%tS\n", date); // 两位数的秒;
		System.out.printf("%tp\n", date); // 上午或下午的小写标志;
		System.out.printf("%tZ\n", date); // 时区;
		System.out.printf("%tQ\n", date); // 从格林威治时间1970-01-01 00:00:00起的毫秒数;
	}

	// java.text.*;包中的格式化类的使用;
	public static void vprintf() {
		// DateFormat类实现了不同语言环境下的日期的格式化输出;
		Date date = new Date();
		DateFormat df1 = DateFormat.getDateInstance(DateFormat.LONG, Locale.US);
		String string1 = df1.format(date);
		System.out.println(string1);

		DateFormat df2 = DateFormat.getDateTimeInstance(DateFormat.LONG,
				DateFormat.LONG, Locale.US);
		String string2 = df2.format(date);
		System.out.println(string2);

		DateFormat df3 = DateFormat.getTimeInstance(DateFormat.LONG, Locale.US);
		String string3 = df3.format(date);
		System.out.println(string3);

		System.out.println(new SimpleDateFormat("yyyy-MM-dd G HH:mm:ss",
				Locale.US).format(date));
		System.out.println(new SimpleDateFormat("yyyy/MM/dd", Locale.US)
				.format(date));
		System.out.println(new SimpleDateFormat("hh:mm:ss a", Locale.US)
				.format(date));

		// NumberFormat类实现不同语言环境下的数值格式化;
		System.out.println(NumberFormat.getCurrencyInstance(Locale.US).format(
				100));
		System.out.println(NumberFormat.getCurrencyInstance(Locale.CHINA)
				.format(100));
		System.out.println(NumberFormat.getPercentInstance(Locale.US).format(
				0.1));
		System.out.println(NumberFormat.getPercentInstance(Locale.CHINA)
				.format(0.1));

	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值