JavaWEB开发国际化 (二)

2014-11-24 10:11:46 · 作者: · 浏览: 2
rt java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Locale;


import org.junit.Test;


public class DataFormatTest {

@Test

//将Date对象转换为指定样式指定语言环境的字符串时间表示形式

public void test1(){

Date date = new Date();

DateFormat format = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL, Locale.CHINA);

String dateStr = format.format(date);

System.out.println(dateStr);

}

//2013年7月27日 星期六 下午03时57分45秒 CST

@Test

public void test2() throws ParseException{

String dateStr = "2013年7月27日 星期六 下午03时57分45秒 CST";

DateFormat format = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,Locale.CHINA);

Date date = format.parse(dateStr);

System.out.println(date);

}


@Test

public void test3() throws ParseException{

String dateStr = "2013~~~09@@@@09,16 00+00";

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy~~~MM@@@@dd,HH mm+ss");

Date date = dateFormat.parse(dateStr);

System.out.println(date);

}


@Test

public void test4(){

Date date = new Date();

SimpleDateFormat dateFormat = new SimpleDateFormat("MM~~~yyyy~~~~dd:mm~~~ss+HH");

String dateStr = dateFormat.format(date);

System.out.println(dateStr);

}

}

10、NumberFormat类

(1)实例化NumberFormat类时,可以使用locale对象作为参数,也可以不使用,下面列出的是使用参数的。

(2)getNumberInstance(Locale locale):以参数locale对象所标识的本地信息来获得具有多种用途的NumberFormat实例对象

(3)getIntegerInstance(Locale locale):以参数locale对象所标识的本地信息来获得处理整数的NumberFormat实例对象

(4)getCurrencyInstance(Locale locale):以参数locale对象所标识的本地信息来获得处理货币的NumberFormat实例对象

(5)getPercentInstance(Locale locale):以参数locale对象所标识的本地信息来获得处理百分比数值的NumberFormat实例对象


public void demo4() {

// 请将0.78654321,输出百分比格式,保留两位小数

double d = 0.78654321;

double d2 = 0.543;

NumberFormat numberFormat = NumberFormat.getPercentInstance();

numberFormat.setMaximumFractionDigits(2);

numberFormat.setMinimumFractionDigits(2);

System.out.println(numberFormat.format(d));

System.out.println(numberFormat.format(d2));

}


public void demo3() throws ParseException {

// 请将整数198,输出为货币形式:$198,并将¥198反向解析成整数198。

int n = 198; // 输出美元

NumberFormat format1 = NumberFormat.getCurrencyInstance(Locale.US);

format1.setMaximumFractionDigits(0);// 不要小数

System.out.println(format1.format(n));

String s = "¥198";

NumberFormat format2 = NumberFormat.getCurrencyInstance(Locale.CHINA);

Number m = format2.parse(s);

System.out.println(m);

}

package com.itheima.i18n;


import java.text.NumberFormat;

import java.text.ParseException;

import java.util.Locale;


import org.junit.Test;


public class NumberFormatTest {

//100 ---> ¥100

@Test

public void test1(){

double num = 100.00;

NumberFormat format = NumberFormat.getCurrencyInstance(Locale.US);

String str = format.format(num);

System.out.println(str);

}


//¥100.00 -- > 100.00

@Test

public void test2() throws ParseException{

String str = "¥100.00";

NumberFormat format = NumberFormat.getCurrencyInstance(Locale.CHINA);

double num = format.parse(str).doubleva lue();

System.out.println(num);

}


//99.1% --0.991

@Test

public void test3() throws ParseException{

String str = "99.1%";

NumberFormat format = NumberFormat.getPercentInstance(Locale.CHINA);

double num = format.parse(str).doubleva lue();

System.out.println(num);

}


//0.8812 ---> 88.12%

@Test

public void test4(){

double num = 0.8812;

Nu