/** * 人民币转成大写 * * @param value * @return String */ public static String hangeToBig(double value) { char[] hunit = { '拾', '佰', '仟' }; // 段内位置表示 char[] vunit = { '万', '亿' }; // 段名表示 char[] digit = { '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' }; // 数字表示 long midVal = (long) (value * 100); // 转化成整形 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 (rail.equals("00")) { // 如果小数部分为0 suffix = "整"; } 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; // 返回正确表示 } 冒泡排序 int[] cha = { 10, 15, 9, 30, 50 };//外层循环N-1,内层循环N-1-i for(int i=0;i<cha.length-1;i++){ for(int j=0;j<cha.length-1-i;j++){ if(cha[j]>cha[j+1]){ int temp=cha[j]; cha[j]=cha[j+1]; cha[j+1]=temp; } } }
发表评论
-
eclipse/myeclipse注释模板的修改(网摘)
2015-04-07 10:21 603本文转自:http://kaminlee.iteye.com ... -
Java中的UDP协议编程
2012-07-26 10:50 988一. UDP协议定义 UDP协 ... -
Java爬网页方法
2012-05-18 11:31 1046/* Function name: myGetHt ... -
Java日期公用处理类
2012-05-18 11:33 1192import java.text.SimpleDateFo ... -
Java一组日期方法
2012-05-18 11:33 1166import java.text.SimpleDateFo ... -
Java控制小数点的几个常用方法
2012-05-18 11:33 1327import java.text.DecimalForma ... -
Java基础加密组件
2012-05-18 11:32 1067import java.security.MessageD ... -
Java一些格式化的通用代码
2012-05-17 10:10 1206import javax.servlet.http.Htt ... -
Java动态代理
2012-05-17 10:10 759import java.lang.reflect.Invo ... -
Java导出成Excel的方法(需要jxl.jar包)
2012-05-17 10:10 1887import java.io.File; import ... -
Java遗传算法
2012-05-17 10:09 953import java.util.*; public ... -
Java各种数据库连接
2012-05-16 10:29 899MySQL: String Driv ... -
Java系统托盘的应用
2012-05-16 10:28 832import java.applet.Applet; ... -
Java获取ip地址
2012-05-16 10:27 991import java.awt.GridLayout; ... -
Java日期处理bean
2012-05-16 10:25 834import java.text.ParsePositio ... -
java访问*.properties资源文件
2012-05-16 10:23 707import java.io.FileInputStrea ...
相关推荐
这是一个把人民币数字转换成大写的java程序
人民币数字转大写.java
主要为大家详细介绍了java实现数字转换人民币中文大写工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
使用java实现对人民币大写处理,亲测可用!
手写java类,金额转换成大写,代码有详细说明,金额装换成大写可达百万亿,需要将金额转换成大写的朋友可以下载直接用。
Java人民币金额数字转换成大写,最常见的java面试题,最合理的解答。
Java语言人民币转化为大写,支持一亿以内的数字;
人民币数字转换成汉字大写 android Java 运行效率
用java写的数字转人民币大写,在下java入门不久,望大家多多指点
java人民币大写转换例子。
1. 最大支持百万亿(15位整数,2位小数) ;或仟万亿(16位整数) 2. 超过最大支持仟万亿(16位整数),只输出大写数字 3. 整数部分越大,则小数部分输出越不精确 4. 负数,则忽略负号
基于java的人民币大写的转换,基本实现了亿以内的小写转大写的功能
数字转换成人民币大写
小写转换大写人民币,精确到万亿!小写转换大写人民币,精确到万亿!
可以实现将 10002 转换成壹万零貮元整 10100021转换成壹千零壹拾万零貮拾壹元整 110.00 转换成壹佰壹拾元整 10.01 转换成壹拾元零壹分
数字到人民币大写转换程序(java)支持负数,解决零零,。
数字转成人民币大写代码 Public Function GetChinaNum(otherNum As Double, Optional isRMB As Boolean, Optional numOption As Boolean, Optional dotNum As Integer) As String On Error Resume Next num = Trim...
这是我写的人民币小写转大写的文档,刚刚学java,希望大家指教。
用JAVA编写的类,把数字转成大写的人民币。大家参考一吧
* 将double形式的字符串(有两位小数或无小数)转换成人民币的大写格式 * @param doubleStr * @return String * @throws Exception */ public static String doChangeRMB(String doubleStr)throws ...