- 浏览: 95743 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
grhglj:
能详细一点吗?都加到哪儿呀。
struts2.0中使用图形验证码 -
shingo7:
jotm哪来的2.3版
Spring引用Tomcat的 JTA事务 -
blogaaa:
这样配置完后,事务不能正常回滚,在同一个action中插入记录 ...
Spring引用Tomcat的 JTA事务
String HanDigiStr[] = new String[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
String HanDiviStr[] = new String[]{"","拾","佰","仟","万","拾","佰","仟","亿",
"拾","佰","仟","万","拾","佰","仟","亿",
"拾","佰","仟","万","拾","佰","仟" };
/**
* 输入字符串必须正整数,只允许前导空格(必须右对齐),不宜有前导零
* @param NumStr
* @return
* */
String PositiveIntegerToHanStr(String NumStr)
{
String RMBStr = "";
boolean lastzero = false;
boolean hasvalue= false; // 亿、万进位前有数值标记
int len,n;
len = NumStr.length();
if( len > 15 ) return "数值过大!";
for(int i=len-1;i>=0;i--) {
if( NumStr.charAt(len-i-1)==' ' ) continue;
n = NumStr.charAt(len-i-1) - '0';
if( n<0 || n>9 ) return "输入含非数字字符!";
if( n!=0 ) {
if( lastzero ) RMBStr += HanDigiStr[0]; // 若干零后若跟非零值,只显示一个零
// 除了亿万前的零不带到后面
//if( !( n==1 && (i%4)==1 && (lastzero || i==len-1) ) ) // 如十进位前有零也不发壹音用此行
if( !( n==1 && (i%4)==1 && i==len-1 ) ) // 十进位处于第一位不发壹音
RMBStr += HanDigiStr[n];
RMBStr += HanDiviStr[i]; // 非零值后加进位,个位为空
hasvalue = true; // 置万进位前有值标记
}else {
if( (i%8)==0 || ((i%8)==4 && hasvalue) ) // 亿万之间必须有非零值方显示万
RMBStr += HanDiviStr[i]; // “亿”或“万”
}
if( i%8==0 ) hasvalue = false ; // 万进位前有值标记逢亿复位
lastzero = (n==0) && (i%4!=0);
}
if( RMBStr.length()==0 ) return HanDigiStr[0]; // 输入空字符或"0",返回"零"
return RMBStr;
}
/**
*
* @param val
* @return
* */
public String NumToRMBStr(double val)
{
String SignStr ="" ;
String TailStr ="";
long fraction, integer;
int jiao,fen;
if( val<0 ) {
val = -val;
SignStr = "负";
}
if(val > 99999999999999.999 || val <-99999999999999.999 ) return "数值位数过大!";
// 四舍五入到分
long temp = Math.round(val*100);
integer = temp/100;
fraction = temp%100;
jiao = (int)fraction/10;
fen = (int)fraction%10;
if( jiao==0 && fen==0 ) {
TailStr = "整";
}
else {
TailStr = HanDigiStr[jiao];
if( jiao!=0 )
TailStr += "角";
if( integer==0 && jiao==0 ) // 零元后不写零几分
TailStr = "";
if( fen!=0 )
TailStr += HanDigiStr[fen] + "分";
}
// 下一行可用于非正规金融场合,0.03只显示“叁分”而不是“零元叁分”
// if( !integer ) return SignStr+TailStr;
return SignStr+PositiveIntegerToHanStr(String.valueOf(integer) )+"元"+TailStr;
}
String HanDiviStr[] = new String[]{"","拾","佰","仟","万","拾","佰","仟","亿",
"拾","佰","仟","万","拾","佰","仟","亿",
"拾","佰","仟","万","拾","佰","仟" };
/**
* 输入字符串必须正整数,只允许前导空格(必须右对齐),不宜有前导零
* @param NumStr
* @return
* */
String PositiveIntegerToHanStr(String NumStr)
{
String RMBStr = "";
boolean lastzero = false;
boolean hasvalue= false; // 亿、万进位前有数值标记
int len,n;
len = NumStr.length();
if( len > 15 ) return "数值过大!";
for(int i=len-1;i>=0;i--) {
if( NumStr.charAt(len-i-1)==' ' ) continue;
n = NumStr.charAt(len-i-1) - '0';
if( n<0 || n>9 ) return "输入含非数字字符!";
if( n!=0 ) {
if( lastzero ) RMBStr += HanDigiStr[0]; // 若干零后若跟非零值,只显示一个零
// 除了亿万前的零不带到后面
//if( !( n==1 && (i%4)==1 && (lastzero || i==len-1) ) ) // 如十进位前有零也不发壹音用此行
if( !( n==1 && (i%4)==1 && i==len-1 ) ) // 十进位处于第一位不发壹音
RMBStr += HanDigiStr[n];
RMBStr += HanDiviStr[i]; // 非零值后加进位,个位为空
hasvalue = true; // 置万进位前有值标记
}else {
if( (i%8)==0 || ((i%8)==4 && hasvalue) ) // 亿万之间必须有非零值方显示万
RMBStr += HanDiviStr[i]; // “亿”或“万”
}
if( i%8==0 ) hasvalue = false ; // 万进位前有值标记逢亿复位
lastzero = (n==0) && (i%4!=0);
}
if( RMBStr.length()==0 ) return HanDigiStr[0]; // 输入空字符或"0",返回"零"
return RMBStr;
}
/**
*
* @param val
* @return
* */
public String NumToRMBStr(double val)
{
String SignStr ="" ;
String TailStr ="";
long fraction, integer;
int jiao,fen;
if( val<0 ) {
val = -val;
SignStr = "负";
}
if(val > 99999999999999.999 || val <-99999999999999.999 ) return "数值位数过大!";
// 四舍五入到分
long temp = Math.round(val*100);
integer = temp/100;
fraction = temp%100;
jiao = (int)fraction/10;
fen = (int)fraction%10;
if( jiao==0 && fen==0 ) {
TailStr = "整";
}
else {
TailStr = HanDigiStr[jiao];
if( jiao!=0 )
TailStr += "角";
if( integer==0 && jiao==0 ) // 零元后不写零几分
TailStr = "";
if( fen!=0 )
TailStr += HanDigiStr[fen] + "分";
}
// 下一行可用于非正规金融场合,0.03只显示“叁分”而不是“零元叁分”
// if( !integer ) return SignStr+TailStr;
return SignStr+PositiveIntegerToHanStr(String.valueOf(integer) )+"元"+TailStr;
}
发表评论
-
Drools与Spring集成 登录测试
2013-07-12 15:27 0转至: http://justsee.iteye.com/b ... -
Drools入门-----------环境搭建,分析Helloworld
2013-07-12 15:20 0转至: http://justsee.iteye.com/b ... -
H2学习
2013-07-12 15:11 0package test.h2; import ja ... -
BlockingQueue队列学习
2013-10-17 10:16 806package test; import java ... -
一个多线程计算器的实现
2013-07-12 14:56 0package test; import java.util ... -
JRobin Core学习
2012-12-04 14:29 4141原文地址: http://www.micmiu.com/ent ... -
Memcached学习——(四)
2012-11-28 17:11 0原文地址: http://snowolf.iteye.com/ ... -
Memcached学习——(三)
2012-11-28 17:10 0原文地址: http://snowolf ... -
Memcached学习——(二)
2012-11-28 17:08 1007原文地址: http://snowolf.iteye.com/ ... -
Memcached学习——(一)
2012-11-28 17:07 1131原文地址: http://snowolf.iteye.com/ ... -
redis学习
2012-11-28 17:03 968原文地址:http://snowolf.iteye.com/b ... -
基于Spring可扩展Schema提供自定义配置支持(spring配置文件中 配置标签支持)
2012-11-28 16:55 832原文地址:http://www.cnblogs.com/jif ... -
JAI处理TIFF格式图片
2012-09-17 17:48 13330懒得多说,直接代码了。。。。 import java.awt. ... -
全面掌握Java的异常处理机制
2009-03-05 17:17 1033你觉得自己是一个Java专 ... -
java.lang包概述
2009-03-05 17:02 133474.1. 接口 java.lang.Appendab ... -
select下拉列表动态显示选择公司及部门信息——级联
2008-11-25 12:29 1329//=================公司类方法======= ... -
身份证号转换15位与18位
2008-11-25 12:24 1632//开始 15位到18位的身份证号转换 //身份证号码由 ... -
使ApplicationResources.properties支持中文
2008-11-25 12:15 1338使ApplicationResources.propertie ... -
利用XMLBean轻轻松松读写XML
2008-11-25 12:11 969一、关于XML解析 XML在Java应用程序里变得越来越 ... -
JAVA获得网卡MAC地址
2008-11-25 12:06 1150package test; import java.io.B ...
相关推荐
人民币大小写转换软件 转换标准的银行款项.
Java中关于金额小写转换为大写的工具类
在IT行业中,人民币大小写转换是一项常见的编程任务,特别是在财务软件或者银行系统开发中。它涉及到将数字金额从阿拉伯数字形式转换成汉字大写形式,以满足中国金融行业的规范要求,确保金额表述清晰且不易篡改。这...
在IT行业中,人民币大小写的转换是一项常见的需求,特别是在财务软件、银行系统以及电子商务等领域。这个话题涉及到中国的货币格式,其中包含整数部分和小数部分的转换规则,以确保财务记录的准确性和合规性。 ...
针对“C# 人民币大小写转换”这一主题,我们需要探讨如何利用C#编程语言处理人民币金额的格式化,特别是将其从阿拉伯数字形式转换为中文大写,这在财务单据中是必不可少的,因为中文大写可以避免因数字混淆导致的...
### PowerBuilder人民币大小写转换知识点解析 在PowerBuilder开发中,进行人民币金额的大小写转换是一种常见的需求。这种转换主要用于财务、会计等系统的输出显示,确保数据格式符合规范且易于理解。下面将详细介绍...
该实现方法通过在JSP页面中嵌入一个Applet,使用JavaScript与Applet进行交互,实现实时的人民币大小写转换。 一、JSP页面调用Applet的实现 在JSP页面中,使用 `;charset=gb2312" %>` 指定页面的字符编码为GB2312,...
java 人民币大小写转换 利用BufferString和正则表达式做的。。。不到70行的代码,注释相当的详细,当然也写了一个C版本的,要的话,可以留下Email
【标题】"人民币大小写转换并语音报数"是一个基于Delphi7开发的应用程序,它提供了将人民币金额数字形式转换成大写汉字的功能,并且具备语音播报的能力。这个项目可以帮助财务人员快速准确地处理金融文档,减少人为...
在IT行业中,人民币大小写转换类库是一种非常实用的工具,尤其在财务软件或与金融相关的系统开发中。这类库通常包含一系列函数或方法,能够将数字金额转换为中文大写,符合中国财务法规的要求。以下是对这个主题的...
.NET人民币大小写转换,根据人民币小写转换为人民币大写
用java实现的将人民币从数字转换为大写
在IT行业中,人民币大小写转换是一项常见的需求,特别是在财务软件或者银行系统开发中。这个转换功能主要用于将数字化的人民币金额转换成中文大写的表述形式,以便于财务报表的规范和审计。C#作为.NET框架的主要编程...
实用最全的人民币大小写转换源码 源码描述: 一、源码特点 这是一个十分实用的小功能,他可以判断输入的是否是出了数字外的其他字符并主动过滤,转换成大小写后如果是正数会转换成多少元或多少分整。简单实用,...
### 人民币大小写转换知识点详解 #### 一、问题背景及需求分析 在日常的财务处理、银行系统以及各类正式文档中,经常会遇到将数字金额转换成中文大写的需求。例如,将数字“1003”转换为中文大写的“壹仟零叁圆”。...
### 人民币大小写转换Excel公式解析 #### 一、引言 在财务处理及正式文件中,经常需要用到人民币金额的大写形式。为了提高工作效率并减少人为错误,掌握一种简便的方法来实现这一转换变得尤为重要。Excel提供了强大...