/*《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. Java File类基本操作

    我们可以利用Java.io.File类对文件进行操作,基本操作如下: 1)创建文件: public boolean createNewFile() throws IOException 2)删除文件: ...

  2. Android中ScrollView嵌套GridView,解决GridView显示不全的问题

    /** * 自定义gridview,解决ScrollView中嵌套gridview显示不正常的问题(1行半) * */ public class MyGridView extends GridView ...

  3. LUA闭包概念演示

    闭包的一个重要场景,形成一个自治的环境, 让操作可以封闭运行, 即函数运行时有状态的,可以从闭包创建时候的环境独立开来. 例如下面的lua闭包, genFilter 其入参parmIn是 函数的内部变 ...

  4. Oracle修改时间报:ORA-01830: 日期格式图片在转换整个输入字符串之前结束的解决办法

    1.错误原因: date类型不能包含秒以后的精度. 如日期:2010-01-01 20:02:20.0 解决方法:将日期秒以后的精度去除, to_date(substr(INVOICE_DATE,1, ...

  5. 为Virtual Studio Code配置Python调试插件(Ubuntu14.04)

    详情见以下python for virtual studio code插件的链接: python 安装依赖 1.Python is installed on the current system Pa ...

  6. PHP——字符串处理部分

    PHP——字符串处理 下面我们来讲一下我们经常使用的一些字符串处理的函数 1.string(变量);——取这个变量里面的字符串的长度 2.var_dump(变量a,变量b);——判断两个变量里面的字符 ...

  7. SQL 自动增长 identity

    create table Users( id ,),--id 从10000开始,增加长度为1 name ), ); --执行三次这个语句 insert into Users values('小昆虫') ...

  8. JSP out乱码

    在form method="post" 写post 在接受页面jsp代码前面加request.setCharacterEncoding("UTF-8");

  9. [原创]java WEB学习笔记75:Struts2 学习之路-- 总结 和 目录

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  10. Python学习总结18:函数 参数篇

    1. 判断函数是否可调用 >>> import math >>> x = 1 >>> y = math.sqrt >>> cal ...