/*《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. UISlide属性

    1.    minimumValue  :当值可以改变时,滑块可以滑动到最小位置的值,默认为0.0 _slider.minimumValue = 10.0; 2.    maximumValue :当 ...

  2. ios理解 -- Pro Mutlithreading and Memory Management for iOS and OS X with ARC, Grand Central Dispatch, and Blocks

    Capturing automatic variables Next, you need to learn what the “together with automatic (local) vari ...

  3. Unable to get setting value Parameter name: profileName

    Today when I am building my application, everything works well but when I try to run Azure Worker Ro ...

  4. NSData

    NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) ...

  5. 单位px 转换成 rem

    <script type="text/javascript"> var oHtml = document.documentElement; getSize(); win ...

  6. Java Thread线程控制

    一.线程和进程 进程是处于运行中的程序,具有一定的独立能力,进程是系统进行资源分配和调度的一个独立单位. 进程特征: A.独立性:进程是系统中独立存在的实体,可以拥有自己独立的资源,每个进程都拥有自己 ...

  7. 纪念我sgu第一个10题!

    哎,等下次再做20题纪念一下!尼玛,根本做不出来,还要到处翻别人的555555555555

  8. 转:NodeJS、NPM安装配置步骤

    1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到下载页面.  2.下载完 ...

  9. 01分数规划poj2728(最优比例生成树)

    Desert King Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 21766   Accepted: 6087 Desc ...

  10. C# 类的介绍,参数传递,各种符号说法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...