- 浏览: 124215 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lujq1992:
引用[flash=200,200][url][img][/im ...
velocity入门 -
yangpeihai:
不错,收藏啦。。。谢谢
log4j入门 -
popotans:
诶写 谢谢 招了很多 这个最好
js公农历转换 -
bardo:
建议看看这一个
http://bardo.iteye.com ...
数字转中文
public static String convertToWords(double value) {
char[] hunit = { '拾', '佰', '仟' };
char[] vunit = { '万', '亿' };
char[] digit = { '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' };
long midVal = (long) (value * 100); // 转化成整形
if (midVal < 10L) {
if (midVal == 0L) {
return "零圆整";
} else {
return "零圆零角" + digit[String.valueOf(midVal).charAt(0) - '0'] + "分";
}
}
String valStr = String.valueOf(midVal); // 转化成字符串
String head = valStr.substring(0, valStr.length() - 2); // 取整数部分
String rail = valStr.substring(valStr.length() - 2); // 取小数部分
String prefix = ""; // 整数部分转化的结果
String suffix = ""; // 小数部分转化的结果
// 处理小数点后面的数
if ("00".equals(rail)) { // 如果小数部分为0
suffix = "整";
} else {
if (rail.charAt(1) == '0') {
suffix = digit[rail.charAt(0) - '0'] + "角整"; // 如果没有分,则将角转换出来
} else {
suffix = digit[rail.charAt(0) - '0'] + "角" + digit[rail.charAt(1) - '0'] + "分"; // 否则把角分转化出来
}
}
// 处理小数点前面的数
char[] chDig = head.toCharArray(); // 把整数部分转化成字符数组
char zero = '0'; // 标志'0'表示出现过0
byte zeroSerNum = 0; // 连续出现0的次数
for (int i = 0; i < chDig.length; i++) {
int idx = (chDig.length - i - 1) % 4; // 取段内位置
int vidx = (chDig.length - i - 1) / 4; // 取段位置
if (chDig[i] == '0') { // 如果当前字符是0
zeroSerNum++; // 连续0次数递增
if (zero == '0') { // 标志
zero = digit[0];
} else if (idx == 0 && vidx > 0 && zeroSerNum < 4) {
prefix += vunit[vidx - 1];
zero = '0';
}
continue;
}
zeroSerNum = 0; // 连续0次数清零
if (zero != '0') { // 如果标志不为0,则加上,例如万,亿什么的
prefix += zero;
zero = '0';
}
prefix += digit[chDig[i] - '0']; // 转化该数字表示
if (idx > 0)
prefix += hunit[idx - 1];
if (idx == 0 && vidx > 0) {
prefix += vunit[vidx - 1]; // 段结束位置应该加上段名如万,亿
}
}
if (prefix.length() > 0) {
prefix += '圆'; // 如果整数部分存在,则有圆的字样
}
return prefix + suffix; // 返回正确表示
}
char[] hunit = { '拾', '佰', '仟' };
char[] vunit = { '万', '亿' };
char[] digit = { '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' };
long midVal = (long) (value * 100); // 转化成整形
if (midVal < 10L) {
if (midVal == 0L) {
return "零圆整";
} else {
return "零圆零角" + digit[String.valueOf(midVal).charAt(0) - '0'] + "分";
}
}
String valStr = String.valueOf(midVal); // 转化成字符串
String head = valStr.substring(0, valStr.length() - 2); // 取整数部分
String rail = valStr.substring(valStr.length() - 2); // 取小数部分
String prefix = ""; // 整数部分转化的结果
String suffix = ""; // 小数部分转化的结果
// 处理小数点后面的数
if ("00".equals(rail)) { // 如果小数部分为0
suffix = "整";
} else {
if (rail.charAt(1) == '0') {
suffix = digit[rail.charAt(0) - '0'] + "角整"; // 如果没有分,则将角转换出来
} else {
suffix = digit[rail.charAt(0) - '0'] + "角" + digit[rail.charAt(1) - '0'] + "分"; // 否则把角分转化出来
}
}
// 处理小数点前面的数
char[] chDig = head.toCharArray(); // 把整数部分转化成字符数组
char zero = '0'; // 标志'0'表示出现过0
byte zeroSerNum = 0; // 连续出现0的次数
for (int i = 0; i < chDig.length; i++) {
int idx = (chDig.length - i - 1) % 4; // 取段内位置
int vidx = (chDig.length - i - 1) / 4; // 取段位置
if (chDig[i] == '0') { // 如果当前字符是0
zeroSerNum++; // 连续0次数递增
if (zero == '0') { // 标志
zero = digit[0];
} else if (idx == 0 && vidx > 0 && zeroSerNum < 4) {
prefix += vunit[vidx - 1];
zero = '0';
}
continue;
}
zeroSerNum = 0; // 连续0次数清零
if (zero != '0') { // 如果标志不为0,则加上,例如万,亿什么的
prefix += zero;
zero = '0';
}
prefix += digit[chDig[i] - '0']; // 转化该数字表示
if (idx > 0)
prefix += hunit[idx - 1];
if (idx == 0 && vidx > 0) {
prefix += vunit[vidx - 1]; // 段结束位置应该加上段名如万,亿
}
}
if (prefix.length() > 0) {
prefix += '圆'; // 如果整数部分存在,则有圆的字样
}
return prefix + suffix; // 返回正确表示
}
发表评论
-
java内存分配管理小结
2011-02-14 18:47 707http://www.360doc.com/content/1 ... -
Java编码浅析(注意区分三个概念)
2010-11-09 18:38 668Java与Unicode: Java的class文件采 ... -
javascript cookies 保存、获取和删除
2010-10-21 14:29 748Cookies是一种能够让网站服务器把少量数据储存到客户端的硬 ... -
cookie和session
2010-10-19 15:36 807一、cookie机制和session机制的区别 具体来说 ... -
什么是Cookie?Cookie的详细介绍
2010-10-19 13:45 859话归正题。当微软还没有推出IE8的时候,老实说,我就不喜欢这个 ... -
Java操作Cookie讲解
2010-10-18 15:08 848测试环境:JDK1.5、Tomcat5.5 1.设置Co ... -
JAVA操作Cookie
2010-10-18 15:08 1178Cookie是什么 Cookie是网站 ... -
Java Learning Path
2010-09-20 13:41 683Java Learning Path(五)资源篇 1、 ht ... -
myeclipse偷懒之性能优化和快捷
2010-09-19 08:42 875Eclipse本身很快的,但是 ... -
error和exception的区别,RuntimeException和非RuntimeException的区别
2010-09-19 08:25 9681. 异常机制 异 ... -
JDK 和 JRE 目录的文件结构
2010-09-17 16:33 3549用于开发的文件和目录 Development Files an ... -
两个jre目录和三个lib目录
2010-09-17 11:35 3405lib目录下放置着jar包。 ... -
http://172.20.220.161/
2010-09-16 10:55 1122http://172.20.220.161/ -
JAVA_HOME PATH CLASSPATH
2010-09-15 10:12 789首先得介绍下面几个参数的作用: current direct ... -
JDK与JRE的含义以及应用详解
2010-09-14 18:57 933JDK 是整个Java的核心, ... -
jdk与jre的区别
2010-09-14 18:56 1117JDK里面的工具也是用JAVA ... -
java基础
2010-09-14 18:30 5311. 关于动态加载机制 学习Java比C++更容易理解OOP的 ... -
页面文本框输入的空格换行在以html输出时要转换
2010-08-28 09:14 1144页面文本框输入时,是作为String,空格换行都用java的转 ... -
JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法
2010-08-18 08:17 728JAVA 处理时间 - java.sql.Date、java. ... -
获取当前时间的总结
2010-08-18 08:13 639import java.text.SimpleDateFo ...
相关推荐
数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序...
人民币数字转换成汉字大写 android Java 运行效率
---数字转换汉字----RR--------------------- ALTER FUNCTION numToChinese(@str varchar(20)) RETURNS VARCHAR(20) AS BEGIN declare @i int, @n_str varchar(1),@data varchar(20)
把阿拉伯数字转为汉字写法比如123456789转化为零壹贰叁肆伍陆柒捌玖,以及几百几千几万的数字都可以转化
Java设计输入“12345”显示“一万两千三百四十五” 输入“1000”显示“一千”
阿拉伯数字转换成中文数字, 例如: 10转换成十,111转换成一百一十一 最高支持的数字单位亿, 再大的话可能需要自己修改
oracle数字转换中文,用我们更好地开发财务模块
mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。
Android中数字转中文,金额转大写源码,支持口语化转换。
cout输入一个阿拉伯数字:"; cin>>nNumber; char str[]={"零"}; switch(nNumber) { case 0: { strcpy(str,"零"); break; } case 1: { strcpy(str,"一"); break; } case 2: { ...
自己编的一个小小的程序,可以将数字转换成汉字,用C语言做的
人民币数字转换成汉字,小数点后面保留两位数字,保存到分
excel 纯函数 数字转换大写 数字转换财务大写 数字转换中文 数字转换汉字,里面有详细的介绍,非常适合初学者,操作简单方便,易学易用,希望能给您带来帮助。 适合excel2000及以上版本。
C#数字转中文,C#数字中文大写,大写金额
这是一个简单的数字转换成中文大写,不复杂,逻辑也比较简单,希望对初学者有些用处
mysql oracle 阿拉伯数字转中文数字, 亲测可用.找了很长时间才找到,
js实现将阿拉伯数字转换为中文大写数字。 js实现将阿拉伯数字转换为中文大写数字。
周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文。程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用。 #!/usr/bin/python #-*- encoding: utf-8 -*- import types ...
js将数字转换成中文 function transform(tranvalue){ try{ var i=1; var dw2 = new Array("","万","亿");//大单位 var dw1 = new Array("拾","佰","仟");//小单位 var dw = new Array("零","壹","贰",...
用C#编写的数字转换成中文大写的窗体程序