- 浏览: 5826297 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
package com.worthtech.app.util; import java.util.regex.Matcher; import java.util.regex.Pattern; public class MoneyUtil { private static final Pattern AMOUNT_PATTERN = Pattern.compile("^(0|[1-9]\\d{0,11})\\.(\\d\\d)$"); // 不考虑分隔符的正确性 private static final char[] RMB_NUMS = "零壹贰叁肆伍陆柒捌玖".toCharArray(); private static final String[] UNITS = {"元", "角", "分", "整"}; private static final String[] U1 = {"", "拾", "佰", "仟"}; private static final String[] U2 = {"", "万", "亿"}; /** * 将金额(整数部分等于或少于12位,小数部分2位)转换为中文大写形式. * @param amount 金额数字 * @return 中文大写 * @throws IllegalArgumentException */ public static String convert(String amount) throws IllegalArgumentException { // 去掉分隔符 amount = amount.replace(",", ""); // 验证金额正确性 if (amount.equals("0.00")) { throw new IllegalArgumentException("金额不能为零."); } Matcher matcher = AMOUNT_PATTERN.matcher(amount); if (! matcher.find()) { throw new IllegalArgumentException("输入金额有误."); } String integer = matcher.group(1); // 整数部分 String fraction = matcher.group(2); // 小数部分 String result = ""; if (! integer.equals("0")) { result += integer2rmb(integer) + UNITS[0]; // 整数部分 } if (fraction.equals("00")) { result += UNITS[3]; // 添加[整] } else if (fraction.startsWith("0") && integer.equals("0")) { result += fraction2rmb(fraction).substring(1); // 去掉分前面的[零] } else { result += fraction2rmb(fraction); // 小数部分 } return result; } // 将金额小数部分转换为中文大写 private static String fraction2rmb(String fraction) { char jiao = fraction.charAt(0); // 角 char fen = fraction.charAt(1); // 分 return (RMB_NUMS[jiao - '0'] + (jiao > '0' ? UNITS[1] : "")) + (fen > '0' ? RMB_NUMS[fen - '0'] + UNITS[2] : ""); } // 将金额整数部分转换为中文大写 private static String integer2rmb(String integer) { StringBuilder buffer = new StringBuilder(); // 从个位数开始转换 int i, j; for (i = integer.length() - 1, j = 0; i >= 0; i--, j++) { char n = integer.charAt(i); if (n == '0') { // 当n是0且n的右边一位不是0时,插入[零] if (i < integer.length() - 1 && integer.charAt(i + 1) != '0') { buffer.append(RMB_NUMS[0]); } // 插入[万]或者[亿] if (j % 4 == 0) { if (i > 0 && integer.charAt(i - 1) != '0' || i > 1 && integer.charAt(i - 2) != '0' || i > 2 && integer.charAt(i - 3) != '0') { buffer.append(U2[j / 4]); } } } else { if (j % 4 == 0) { buffer.append(U2[j / 4]); // 插入[万]或者[亿] } buffer.append(U1[j % 4]); // 插入[拾]、[佰]或[仟] buffer.append(RMB_NUMS[n - '0']); // 插入数字 } } return buffer.reverse().toString(); } /** * 对金额的格式调整到分 * @param money * @return */ public static String moneyFormat(String money){//23->23.00 StringBuffer sb=new StringBuffer(); if(money==null){ return "0.00"; } int index=money.indexOf("."); if(index==-1){ return money+".00"; }else{ String s0=money.substring(0,index);//整数部分 String s1=money.substring(index+1);//小数部分 if(s1.length()==1){//小数点后一位 s1=s1+"0"; }else if(s1.length()>2){//如果超过3位小数,截取2位就可以了 s1=s1.substring(0,2); } sb.append(s0); sb.append("."); sb.append(s1); } return sb.toString(); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub // System.out.println(Util.moneyFormat("123.2803")); // System.out.println(Util.moneyFormat("123.28")); // System.out.println(Util.moneyFormat("123.2")); // System.out.println(Util.moneyFormat("123")); // System.out.println(Util.convert("1000.00")); // System.out.println(Util.convert(Util.moneyFormat("1000.0"))); // System.out.println(Util.convert(Util.moneyFormat("1000"))); } }
发表评论
-
J2EE工具类:CalendarUtil .java
2010-08-11 19:51 2872package com.iwode.common; ... -
DESPlus+Base64+MD5Util
2010-07-14 09:03 3455//加密body字符串 DESPlus des = new D ... -
HtmlparseUtil.java
2010-07-02 17:08 7592该类并不是一个通用的工具类,需要按自己的要求实现,这里只记录了 ... -
J2EE工具类:ClientSocketUtil.java&ServerSocketConnection.java
2010-07-02 17:03 4857客户端: import java.io.*; impor ... -
J2EE工具类:WebClient.java
2010-07-02 16:42 4157import java.io.BufferedReader ... -
J2EE工具类:WebHttpClient.java
2010-07-02 16:39 2790import java.io.BufferedReader ... -
J2EE工具类:DES.java
2010-06-30 16:37 3749import java.security.Key; im ... -
BeanUtils & PropertyUtils & MethodUtils类使用方法
2010-03-10 12:37 19335一、简介: BeanUtils提供对 Java反射和自省AP ... -
HttpClient的用法
2010-03-01 17:13 20768http://www.diybl.com/course/3_p ... -
使用HttpClient做的一个简单的网络爬虫
2010-03-01 09:12 8108我们有时要想把一个网 ... -
J2EE工具类:WeatherUtil.java
2010-01-13 21:11 2007package com.worthtech.app.uti ... -
Httpclient4.0 功能封装
2009-11-20 14:26 1638http://hc.apache.org/httpcompon ... -
apache commons-lang包
2009-11-20 13:01 2996http://commons.apache.org/lang/ ... -
J2EE工具类:ArrayUtil.java
2009-11-19 15:03 3208package com.worthtech.app.uti ... -
J2EE工具类:DataBaseUtil.java
2009-11-16 11:21 3353package com.worthtech.app.sql ... -
J2EE工具类:PropertiesUtil.java
2009-11-13 14:37 8044package com.worthtech.app.uti ... -
如何在首页加载数据?
2009-11-11 17:21 2730网站打开的第一页是index.jsp,但里面有些数据是从数据库 ... -
J2EE工具类:StringUtil.java
2009-10-19 17:40 3356package com.worthtech.app.uti ... -
J2EE工具类:DateUtil .java
2009-10-19 17:38 3823package com.worthtech.app.uti ... -
J2EE工具类:NumberUtil.java
2009-10-19 17:19 3190package com.worthtech.app.uti ...
相关推荐
3. J2EE (Java Enterprise Edition):Java 企业版,通常用于网站开发。 4. J2SE (Java Standard Edition):Java 标准版,Java 客户端程序,其它版本基础。 5. J2ME (Java Micro Edition):Java 微型版,主要用于手机...
在J2EE(Java 2 Platform, Enterprise Edition)开发中,代码编写规范是确保项目质量、可维护性和团队协作效率的重要组成部分。这份"J2EE项目代码编写规范"文档涵盖了多个方面,旨在指导开发者遵循最佳实践,提升...
- 全局工具类:公司名称.开发组名称.项目名称.util(如net.linkcn.util) 二、类命名规范 1. 基本命名规范:类和接口名应以大写字母开头,多单词时每个单词首字母大写,例如:StudentInfo、IStudentInfo。 2. 接口...
- 全局工具类:`cn.edu.jxnu.sksoftware.util` - Spring配置文件及资源文件:`cn.edu.jxnu.sksoftware.config.spring` - Web配置文件及资源文件:`cn.edu.jxnu.sksoftware.config.web` - 国际化配置文件及资源文件:...
- **全局工具类所在包命名规范**:采用`公司名称.开发组名称.项目名称.util`的格式。 - 示例:`net.linkcn.util` #### 四、类命名规范 1. **基本命名规范**:类名应以大写字母开头,如果有多个单词,则每个单词首...
J2EE(Java 2 Platform, Enterprise Edition)是Sun Microsystems公司推出的一种企业级应用程序开发平台,它基于Java SE平台,并在此基础上增加了许多针对大型分布式系统的新特性。为了提高项目的可维护性、可读性和...
随着版本的发展,从1.2版开始,SUN公司将之命名为"Java2",目前Java已发展到1.5版,并分为J2SE(Java Standard Edition)、J2ME(Java Micro Edition)和J2EE(Java Enterprise Edition)三个平台,分别适用于桌面...
- `java.util`:包含各种实用工具类,如集合框架、日期时间、随机数等。 - `java.io`:提供输入输出流处理,支持文件操作和网络通信。 - `java.awt`:图形用户界面(GUI)类库,用于创建窗口和控件。 - `java...
- 使用BeanUtils工具类复制数据。 5. **5.5 Struts标记库的使用** - 使用Struts提供的标记库简化页面逻辑。 #### 八、注释 1. **6.1 注释格式** - Javadoc风格的注释:使用`/** ... */`格式。 - 程序内部说明...
JDK不仅包括Java编译器(javac)和Java虚拟机(JVM),还包括了大量的工具类库以及Java语言规范。这意味着,任何对Java语言的改进都需要整合到JDK中,并作为新的版本发布。对于Java开发者而言,JDK是必备的基本工具集。 ...
- **全局工具类所在包**:`net.linkcn.web.crm.util` #### 三、类命名规范 类命名规范旨在通过一致的命名方式提高代码的可读性和可维护性。 - **基本命名规范** - **类与接口**:以大写字母开头,每个单词首...
- **JDK**:Java Development Kit,包含了编写和编译Java程序所需的所有工具,包括编译器、调试器和文档生成工具。 - **JRE**:Java Runtime Environment,包含了运行Java程序所需的所有组件,包括JVM和标准类库。 -...
- **1995年发布**:JAVA作为一种面向对象的编程语言,在1995年由Sun Microsystems公司正式发布。 - **OAK-JAVA雏形**:JAVA最初的雏形被称为OAK,其语法设计上受到了C++的影响,而面向对象的思想则借鉴了SMOLLTALK...
- **全局工具类**: `公司名称.开发组名称.项目名称.util` - 示例: `net.linkcn.util` #### 五、类命名规范 - **基本命名规则**: - 类和接口的命名应以大写字母开头,若有多个单词,则每个单词的首字母均需大写。 ...
《Java-面向对象程序设计基础》章:Java语法基础 以下是从给定的文件中生成的知识点: Java 简介 Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台的总称。Java 平台由 Java...
- **起源与目标**:Java 最初由 Sun Microsystems 公司的一名工程师 James Gosling 在 1990 年代初期开发,最初的目标是为了创建家用电器的控制系统。后来,Java 被重新设计为一种用于网络应用的语言,并在互联网的...
标识符则遵循一定的命名规则,如类名通常首字母大写,方法名首字母小写,常量全大写,变量名首字母小写,避免使用美元符号$作为标识符的一部分。 【Java的基本数据类型】 Java的数据类型分为两大类:原始类型(基本...
- **1995年发布**:JAVA作为一种面向对象的编程语言,在1995年由Sun Microsystems公司正式发布。 - **OAK-JAVA雏形**:JAVA最初的雏形被称为OAK,其语法设计上受到了C++的影响,而面向对象的思想则借鉴了SMOLLTALK...
2. 跨平台:Java程序编译成.class文件后,可以在任何安装了Java虚拟机(JVM)的平台上运行,实现“一次编写,到处运行”的理念。 3. 支持分布式网络应用:Java的设计使得构建分布式系统变得容易,它提供了网络通信所...
编写第一个Java程序,遵循类名首字母大写、方法和变量首字母小写的编码规范。变量包括四要素:变量名、类型、初始化值和作用域。作用域决定了变量的有效范围,如局部变量仅在方法内部有效,成员变量在整个类中有效。...