`
- 浏览:
691053 次
-
import java.io.BufferedReader;
3.import java.io.IOException;
4.import java.io.InputStreamReader;
5.//最高支持12位千亿位 可以扩展但没有必要。
6.public class Number2Chinese {
7. public static void main(String [] arg) throws IOException{
8. //得到键盘输入的值
9. BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
10. String str = buf.readLine();
11. Number2Chinese num = new Number2Chinese();
12. String str2 = num.change(str);
13. System.out.println(num.init(str2));
14. }
15. public String init(String str){
16. str=str.replace('0', '零');
17. str=str.replace('1', '一');
18. str=str.replace('2', '二');
19. str=str.replace('3', '三');
20. str=str.replace('4', '四');
21. str=str.replace('5', '五');
22. str=str.replace('6', '六');
23. str=str.replace('7', '七');
24. str=str.replace('8', '八');
25. str=str.replace('9', '九');
26. str=str.replace("零零", "零");
27. return str;
28. }
29. public static String sub(String str){//获取每四位的子串
30. StringBuffer stb = new StringBuffer();
31. int leng = str.length();
32. if(leng%4==1){
33. stb.append(str.charAt(0));
34. }
35. if(leng%4==2){
36. stb.append(str.charAt(0)+"拾"+(str.charAt(1)=='0'?"":str.charAt(1)));
37. }
38. if(leng%4==3){
39. stb.append(
40. str.charAt(0)+"佰"
41. +(str.charAt(1)=='0'?(str.charAt(2)=='0'?"":'零'):(str.charAt(1)+"拾"))
42. +(str.charAt(2)=='0'?"":str.charAt(2)));
43. }
44. if(leng%4==0){
45. if("0000".equals(str))stb.append("");
46. if(str.charAt(0)=='0'){stb.append( ""+
47. (str.charAt(1)=='0'?(str.charAt(2)=='0'?(str.charAt(3)=='0'?"":'零'):'零'):(str.charAt(1)+"佰"))
48. +(str.charAt(2)=='0'?(str.charAt(3)=='0'?"":'零'):(str.charAt(2)+"拾"))
49. +(str.charAt(3)=='0'?"":str.charAt(3)));}
50. else stb.append(
51. str.charAt(0)+"仟"
52. + (str.charAt(1)=='0'?(str.charAt(2)=='0'?(str.charAt(3)=='0'?"":'零'):'零'):(str.charAt(1)+"佰"))
53. +(str.charAt(2)=='0'?(str.charAt(3)=='0'?"":'零'):(str.charAt(2)+"拾"))
54. +(str.charAt(3)=='0'?"":str.charAt(3)));
55. }
56. return stb.toString();
57. }
58. public String change(String str){
59. StringBuffer strbuf = new StringBuffer();
60. int len = str.length();
61. if(len>8){
62. String a = str.substring(0,len-8);
63. String ag = Number2Chinese.sub(a);
64. strbuf.append(ag+"亿");
65. }
66. if(len>4){
67. String b = str.substring(len>8?len-8:0,len-4);
68. String bg = Number2Chinese.sub(b);
69. if(!"0000".equals(b))strbuf.append(bg+"万");
70. else strbuf.append("");
71. }
72. String c = str.substring(len-4>0?len-4:0,len);
73. String cg = Number2Chinese.sub(c);
74. strbuf.append(cg);
75. return strbuf.toString();
76. }
77.}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
java实现阿拉伯数字 转换为 汉字数字 算法
mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。
1、该dll能将阿拉伯数字转换为汉字数字或者中文大写金额。例如1234567.07可转换为: “一百二十三万四千五百六十七点零七”或“壹佰贰拾叁万肆仟伍佰陆拾柒圆零柒分”。 目前支持正负千亿以内(整数部分不超过12位)...
现在,这个`arabicToChineseSmart`函数可以处理大多数常见的中文数字转换需求。当然,对于更复杂的转换,比如涉及到负数、小数点等,可能还需要进一步扩展和优化。 在实际项目中,我们可能会将这样的功能封装到一个...
- 对于非零数字,易语言提供了一种映射表或内建函数,可以直接将数字转换成汉字。 - 零的处理需要特别注意,因为它在汉字中表示为“零”,而不是“〇”。 2. **小数部分的转化**: - 小数部分通常需要转换为分数...
在财务系统中,将数字转换为中文大写是确保数据准确性和满足特定区域语言需求的关键步骤之一。Oracle数据库,作为业界领先的数据库管理系统之一,提供了强大的功能来实现这一需求。 ### Oracle数字转换为中文大写的...
在IT行业中,尤其是在编程领域,将数字转换为汉字大写是一项常见的需求,特别是在财务和会计系统中,因为中国的财务报表通常要求使用汉字大写来表示金额,以避免篡改和提高准确性。Java作为广泛使用的编程语言,提供...
标题和描述中提到的知识点是关于如何使用JavaScript(简称js)编程语言将阿拉伯数字转换为中文大写形式。这种转换通常在财务相关的软件中很常见,尤其是涉及到金额表述时,为了符合财务规范或增加可读性,需要将数字...
本文将深入探讨如何将数字转换为汉字大写,特别是在VC++环境下使用MFC库实现这一功能。首先,我们来理解标题“数字大小写转换(转换为汉字大写)”所指的知识点。 在会计、财务和其他需要精确表示金额的领域,数字...
JS将数字转换为大写汉字人民币
cout输入一个阿拉伯数字:"; cin>>nNumber; char str[]={"零"}; switch(nNumber) { case 0: { strcpy(str,"零"); break; } case 1: { strcpy(str,"一"); break; } case 2: { ...
在编程领域,尤其是在中文编程环境中,有时我们需要将阿拉伯数字转换为汉字大写,这在财务、会计等领域的报表和凭证中尤为常见。易语言作为一款中国本土开发的、以中文编程为特色的编程语言,提供了方便的方式来实现...
MySQL函数 数字转中文 非金额 处理数据类型 decimal(21,6)
总之,阿拉伯数字到汉字数字的转换是中文编程中常见的需求,`arabChange.dll`提供了这样的功能,使得C#开发者可以方便地将阿拉伯数字转化为符合中文阅读习惯的汉字数字。通过理解和正确使用这个库,可以提高代码的...
以下是一个简单的 JavaScript 函数,用于将阿拉伯数字转换为中文数字。 首先,我们定义了一个名为 `_change` 的对象,这个对象包含了三个数组: 1. `ary0` 数组存储了0到9的中文数字。 2. `ary1` 数组存储了10、...
阿拉伯数字转换为中文大写是将阿拉伯数字转换为中文大写数字的过程。在这个过程中,我们需要使用数组来存储中文大写数字和单位,然后通过遍历阿拉伯数字字符串,逐个将数字转换为中文大写数字,并加上相应的单位。 ...
数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序...
将阿拉伯数字转换为大写数字,主要解决小数点问题,
在编程领域,尤其是在财务软件或报表系统中,将数字转换为中文大写是常见的需求,因为中文大写常用于财务报告、发票等正式文档中,以避免数字篡改。C#作为.NET框架中的主要编程语言,提供了丰富的字符串处理功能,...
主要运用字符串数组知识的c++基础练习,很简单很能锻炼初学者的一道题