/*《java疯狂讲义》浮点数转换为人名币读法字符串这个用例,感觉没有考虑零的情况*/

import java.util.Arrays;

public class Num2Rmb {

private String[] hanArr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
private String[] unitArr={"","拾","佰","仟","万","亿","角","分"};

public String[] divide(double num){
long zheng=(long)num;
long xiao=Math.round((num-zheng)*100);
String[] str=new String[]{zheng+"",String.valueOf(xiao)};
return str;
}
public String toHanString(String[] numStr){
String zhengStr="";
char[] zhengChr=numStr[0].toCharArray();
int[] zhengInt=new int[zhengChr.length];
for(int i=zhengChr.length;i>0;i--){
zhengInt[i-1]=zhengChr[i-1]-'0';
if(zhengInt[i-1]==0){
if((zhengChr.length-i)%4!=0){
zhengStr=hanArr[0]+zhengStr;
}
while(i>0&&zhengInt[i-1]==0){
i--;
zhengInt[i-1]=zhengChr[i-1]-'0';
}

}
if((zhengChr.length-i)==4)
zhengStr=unitArr[4]+zhengStr;
else if((zhengChr.length-i)==8)
zhengStr=unitArr[5]+zhengStr;
zhengStr=hanArr[zhengInt[i-1]]+unitArr[(zhengChr.length-i)%4]+zhengStr;
}
String xiaoStr="";
char[] xiaoChr=numStr[1].toCharArray();
int[] xiaoInt=new int[xiaoChr.length];
for(int j=0;j<xiaoInt.length;j++){
xiaoInt[j]=xiaoChr[j]-'0';
xiaoStr=xiaoStr+hanArr[xiaoInt[j]]+unitArr[j+6];

}
return zhengStr+xiaoStr;
}
public static void main(String[] args) {
Num2Rmb nr=new Num2Rmb();
double num=6010.333;
System.out.println(Arrays.toString(nr.divide(num)));
System.out.println(nr.toHanString(nr.divide(num)));

}

}

浮点数转换为人名币读法字符串(JAVA)的更多相关文章

  1. 将一个浮点数转换成人民币读法字符串(java)

    public class Num2Rmb   {       private String[] hanArr = {"零" , "壹" , "贰&qu ...

  2. java中把字节数组转换为16进制字符串

    把字符串数组转换为16进制字符串 import java.security.MessageDigest; public class StringUtil { public StringUtil() { ...

  3. 中文字符串转换为十六进制Unicode编码字符串

    package my.unicode; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Uni ...

  4. 【笔试题】怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串?

    笔试题 怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串? import java.io.UnsupportedEncodingException; public clas ...

  5. 将32位MD5摘要串转换为128位二进制字符串

    将32为MD5摘要串转换为128位二进制字符串: /// <summary> /// 将字符串转成二进制 /// </summary> /// <param name=& ...

  6. 基于opencv将视频转化为字符串Java版

    基于opencv将视频转化为字符串Java版 opencv java  先上一个效果图吧 首先,弄清一下原理 我们要将视频转化为字符画,那么就需要获取画面的每一帧,也就是每一张图片,然后将图片进行转化 ...

  7. 把一个IEEE754浮点数转换为IBM370浮点数的C#代码

    把一个IEEE754浮点数转换为IBM370浮点数的C#代码. 在这个网页上有古老的IBM370浮点格式的说明. // http://en.wikipedia.org/wiki/IBM_Floatin ...

  8. python 将列表嵌套字典的unicode字符串转换为str格式的字符串的方法

    今天在进行django开发的过程中遇到了一个非常棘手的问题, 因为需求原因, 需要将一份数据存为json格式到数据库中, 如下面这种格式: list_1 = [{"name":&q ...

  9. 编程提取字符串"Java is a programming language"中的各个单词,并打印输出。

    import java.lang.String; import java.util.StringTokenizer; public class StringGetWord{ /* 编程提取字符串&qu ...

随机推荐

  1. 计算NSString含有多少个相同字符串

    // //  NSString+NSStringExt.m //  01-NSString类 // //  Created by apple on 14-3-20. //  Copyright (c) ...

  2. c# 排序算法总结

    /// <summary> /// 冒泡排序法1 /// </summary> /// <param name="list"></para ...

  3. Azure billing 分析(2)

    美国中南部的2008R2的A1的VM放了一天,CPU时间涨了13个小时,有点小贵,真的没有操作啊... 提示早上7到9点有一个小高峰. 看来平时没什么访问量时,还是改成A0能省点钱.因为第一天是用A0 ...

  4. LaTeX 有哪些「新手须知」的内容?

    孟晨 ,在 LaTeX 话题下写错 LaTeX 名字的,一律… 陈硕等 137 人赞同 这是个好问题,虽然提问提得很大.不是很好答,权当抛砖引玉了. 天字第一号原则:不要到网上抄代码,尤其是似懂非懂的 ...

  5. 遇到could not find developer disk image 问题怎么解决

    一般是设备的版本低于或者高于当前的xcode

  6. 配置DruidDataSource参考(com.alibaba.druid.pool.DruidDataSource)

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-met ...

  7. VS2012离线安装Xamarin (含破解补丁)

    Xamarin离线安装包 来源于 忘忧草 特此感谢! 离线安装不成功:参考源 http://www.cnblogs.com/zjoch/p/3937014.html  / http://www.cnb ...

  8. acm算法模板(1)

    1. 几何 4 1.1 注意 4 1.2 几何公式 4 1.3 多边形 6 1.4 多边形切割 9 1.5 浮点函数 10 1.6 面积 15 1.7 球面 16 1.8 三角形 17 1.9 三维几 ...

  9. maven的pom报plugins却是的解决方法(转)

    maven的pom报plugins却是的解决方法. 引用 Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom: ...

  10. For 循环嵌套 0309

                                                                                                     For ...