人民币阿拉伯数字转中文大写
来源:互联网 发布:销售部数据流程图 编辑:程序博客网 时间:2024/05/16 06:46
public class Money {public static void main(String[] args) {String xString;xString=change("01101010.11");System.out.println(xString);}public static String change(String p){//输出字符串String x=""; //低四位输出字符串String minString="";//高四位输出字符串String highString = "";//整数字符串String aString;//小数字符串String bString;//高四位输入字符串String cString = "";//低四位字符串String dString="";char[] name={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};if(p.indexOf('.')!=-1){//去除前置0,如果整数全为0,则输出零圆for(int i=0;i<p.length()-(p.length()-p.indexOf('.'));i++){if(p.charAt(i)!='0'){p=p.substring(i);break;}if(i==p.length()-(p.length()-p.indexOf('.')+1)){x+="零圆";p=p.substring(i);}}//将整数传给aString,小数传给bStringaString=p.substring(0,p.indexOf('.'));bString=p.substring(p.indexOf('.')+1);}else {for(int i=0;i<p.length();i++){if(p.charAt(i)!='0'){p=p.substring(i);break;}if(i==p.length()-1){x+="零圆";p=p.substring(i);}}aString=p;bString="";}//判断整数部分是否大于4位,是就调用第四位和高四位输出方法,否就调用低四位输出方法if(aString.length()>4){cString=aString.substring(0,aString.length()-4);dString=aString.substring(aString.length()-4);highString=changeMax(cString,name);minString=changeMin(dString,name);}else{minString=changeMin(aString,name);}//如果存在高四位,万位为0,输出中转零,并把整数值加给输出字符串if(cString.length()>0){if(cString.charAt(cString.length()-1)=='0')x=x+highString+"零"+minString;}else {x=x+minString;}//将小数值加给输出字符串x+=changePoint(bString,name);return x;}/* * 低四位的转换函数 */public static String changeMin(String p,char[] name) {String x="";char[] type={'圆','拾','佰','仟'};x+=part(p, name, type,p.length()-1);return x;}/* * 高四位的转换函数 */public static String changeMax(String p,char[] name) {String x="";char[] type={'万','拾','佰','仟'};x+=part(p, name, type,p.length()-1);return x;}/* * 小数位的转换函数 */public static String changePoint(String p,char[] name) {String x="";char[] type={'分','角'};if(p.equals("00")||p.equals("0")||p.equals("")){x+="整";}else {for(int i=0;i<p.length();i++){if (p.charAt(i)!='0') {//如果小数后不为零,则输出正常值x+=name[p.charAt(i)-48]+""+type[type.length-1-i];}else{if(i!=p.length()-1){//如果角位为0,,则输出零,分位为0则不输出x+=name[p.charAt(i)-48];}}}}return x;}/* * 实际转换函数 */public static String part(String p,char[] name,char[] type,int i){String x="";for(int j=0;j<p.length();j++){//跳过中间的连续零值,并输出零if(p.charAt(j)=='0'){while(p.charAt(j)=='0'){j++;i--;if(j==p.length())break;}if(j!=p.length()){j--;x+=name[p.charAt(j)-48];}else { //如果末尾为零,则输出最后的那个圆或者万i++;x+=type[i];}}else{ //正常输出x+=name[p.charAt(j)-48]+""+type[i];i--;}}return x;}}
0 0
- 人民币阿拉伯数字转中文大写
- 阿拉伯数字转中文大写
- 阿拉伯数字转人民币大写测试版
- js阿拉伯数字转中文大写
- js阿拉伯数字转中文大写
- 阿拉伯数字金钱转中文大写
- js阿拉伯数字转中文大写
- 人民币中文大写转金额
- java实现阿拉伯数字转人民币大写(精确到分)
- 阿拉伯数字转大写中文-财务常用
- 阿拉伯数字转中文大写的一个方法
- SAP阿拉伯数字转中文大写函数
- php 阿拉伯数字转中文大写金额
- 阿拉伯数字金额转中文大写 (python实现)
- Python 中文(大写)数字转阿拉伯数字
- js中的阿拉伯数字转中文大写
- php阿拉伯数字金额转中文大写金额
- js 阿拉伯数字转中文大写货币
- iOS 获取wifi ssid 名称
- Android开发入门之“活动的生命周期”
- 黑马程序员———正则表达式及其其他类
- OpenCV训练分类器制作xml文档
- TCP/IP详解学习笔记
- 人民币阿拉伯数字转中文大写
- 如何利用OpenCV自带的haar training程序训练分类器
- HDU 1237 简单计算器
- HDU 5387 Clock // 模拟
- Redis对于key的操作命令
- 进程间通信总结
- Javascript - StringBuilder
- BroadcastReceiver的简单使用
- 问题:交叉编译