浮点数转换为人名币读法字符串(JAVA)
/*《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)的更多相关文章
- 将一个浮点数转换成人民币读法字符串(java)
public class Num2Rmb { private String[] hanArr = {"零" , "壹" , "贰&qu ...
- java中把字节数组转换为16进制字符串
把字符串数组转换为16进制字符串 import java.security.MessageDigest; public class StringUtil { public StringUtil() { ...
- 中文字符串转换为十六进制Unicode编码字符串
package my.unicode; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Uni ...
- 【笔试题】怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串?
笔试题 怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串? import java.io.UnsupportedEncodingException; public clas ...
- 将32位MD5摘要串转换为128位二进制字符串
将32为MD5摘要串转换为128位二进制字符串: /// <summary> /// 将字符串转成二进制 /// </summary> /// <param name=& ...
- 基于opencv将视频转化为字符串Java版
基于opencv将视频转化为字符串Java版 opencv java 先上一个效果图吧 首先,弄清一下原理 我们要将视频转化为字符画,那么就需要获取画面的每一帧,也就是每一张图片,然后将图片进行转化 ...
- 把一个IEEE754浮点数转换为IBM370浮点数的C#代码
把一个IEEE754浮点数转换为IBM370浮点数的C#代码. 在这个网页上有古老的IBM370浮点格式的说明. // http://en.wikipedia.org/wiki/IBM_Floatin ...
- python 将列表嵌套字典的unicode字符串转换为str格式的字符串的方法
今天在进行django开发的过程中遇到了一个非常棘手的问题, 因为需求原因, 需要将一份数据存为json格式到数据库中, 如下面这种格式: list_1 = [{"name":&q ...
- 编程提取字符串"Java is a programming language"中的各个单词,并打印输出。
import java.lang.String; import java.util.StringTokenizer; public class StringGetWord{ /* 编程提取字符串&qu ...
随机推荐
- Java File类基本操作
我们可以利用Java.io.File类对文件进行操作,基本操作如下: 1)创建文件: public boolean createNewFile() throws IOException 2)删除文件: ...
- Android中ScrollView嵌套GridView,解决GridView显示不全的问题
/** * 自定义gridview,解决ScrollView中嵌套gridview显示不正常的问题(1行半) * */ public class MyGridView extends GridView ...
- LUA闭包概念演示
闭包的一个重要场景,形成一个自治的环境, 让操作可以封闭运行, 即函数运行时有状态的,可以从闭包创建时候的环境独立开来. 例如下面的lua闭包, genFilter 其入参parmIn是 函数的内部变 ...
- Oracle修改时间报:ORA-01830: 日期格式图片在转换整个输入字符串之前结束的解决办法
1.错误原因: date类型不能包含秒以后的精度. 如日期:2010-01-01 20:02:20.0 解决方法:将日期秒以后的精度去除, to_date(substr(INVOICE_DATE,1, ...
- 为Virtual Studio Code配置Python调试插件(Ubuntu14.04)
详情见以下python for virtual studio code插件的链接: python 安装依赖 1.Python is installed on the current system Pa ...
- PHP——字符串处理部分
PHP——字符串处理 下面我们来讲一下我们经常使用的一些字符串处理的函数 1.string(变量);——取这个变量里面的字符串的长度 2.var_dump(变量a,变量b);——判断两个变量里面的字符 ...
- SQL 自动增长 identity
create table Users( id ,),--id 从10000开始,增加长度为1 name ), ); --执行三次这个语句 insert into Users values('小昆虫') ...
- JSP out乱码
在form method="post" 写post 在接受页面jsp代码前面加request.setCharacterEncoding("UTF-8");
- [原创]java WEB学习笔记75:Struts2 学习之路-- 总结 和 目录
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Python学习总结18:函数 参数篇
1. 判断函数是否可调用 >>> import math >>> x = 1 >>> y = math.sqrt >>> cal ...