Topic: [转载]教你怎么格式化数字

  Print this page

1.[转载]教你怎么格式化数字 Copy to clipboard
Posted by: jerrylees654321
Posted on: 2003-03-21 11:46

//------------------------------------------------------------------------------
最近经常有人问我有关数字格式化的问题,所以抽了点时间写了个简单的例子,希望对您有所帮助!
//------------------------------------------------------------------------------
/**
*格式化模板的语法:
*
*模板 := 正数模板{';'负数模板} //正负数模板要用分号隔开
*正数模板 := {模板前缀}数字{模板后缀}//数字前后 可以添加字符串
*负数模板 := {模板前缀}数字{模板后缀}
*数字 := 整数部分{'.' 小数部分}{指数部分}
*模板前缀 := '合法字符串'//用单引号括起来 如: '前缀'##.##'后缀'
*模板后缀 := '合法字符串'
*整数部分 := min_int | '#' | '#' integer | '#' ',' 整数//注意这是递归定义,整数部分可以有逗号
*min_int := '0' | '0' min_int | '0' ',' min_int
*小数部分 := '0'* '#'* //小数部分不能有逗号,这是与整数部分唯一的区别
*指数部分 := 'E' '0' '0'* //合法:#.#E0,#.#E00, 非法: #.#E,#.#E#
*
*
* 符号说明:
* X* 0个或多个X
* { X } 0个或1个X
* X | Y X或者Y
*
* 如果您看不懂上面的语法,没关系,看下面程序的运行结果先.
* //------------------------------------------------------------------
* 这只是个简单的测试程序,并没有实际的意义,意在帮助您理解上面的语法规则.
*
* 如果您有什么不清楚的可以直接与我联系.
* author: HuangBin
* Email: HuangBin0791@163.com
*/
import java.text.*;
public class Untitled1 {
public static void main(String[] args) {

//---------------------------------------------
//定义一个数字格式化对象,格式化模板为".##",即保留2位小数.
Decimalformat a = new Decimalformat(".##");
String s= a.format(333.335);
System.err.printlnMoon;
//说明:如果小数点后面不够2位小数,不会补零.
//---------------------------------------------

//-----------------------------------------------
//可以在运行时刻用函数applyPattern(String)修改格式模板
//保留2位小数,如果小数点后面不够2位小数会补零
a.applyPattern(".00");
s = a.format(333.3);
System.err.printlnMoon;
//------------------------------------------------

//------------------------------------------------
//添加千分号
a.applyPattern(".##\u2030");
s = a.format(0.78934);
System.err.printlnMoon;
//------------------------------------------------

//------------------------------------------------
//添加百分号
a.applyPattern("#.##%");
s = a.format(0.78645);
System.err.printlnMoon;
//------------------------------------------------

//------------------------------------------------
//添加前、后修饰字符串,记得要用单引号括起来
a.applyPattern("'这是我的钱$',###.###'美圆'");
s = a.format(33333443.3333);
System.err.printlnMoon;
//------------------------------------------------

//------------------------------------------------
//添加货币表示符号(不同的国家,添加的符号不一样
a.applyPattern("\u00A4");
s = a.format(34);
System.err.printlnMoon;
//------------------------------------------------

//-----------------------------------------------
//定义正负数模板,记得要用分号隔开
a.applyPattern("0.0;'@'-#.0");
s = a.format(33);
System.err.printlnMoon;
s = a.format(-33);
System.err.printlnMoon;
//-----------------------------------------------

}
}


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923