`
wangminshe89
  • 浏览: 690751 次
文章分类
社区版块
存档分类
最新评论

将数字转换为中文

 
阅读更多
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.}
分享到:
评论

相关推荐

    java实现阿拉伯数字 转换为 汉字数字 算法

    java实现阿拉伯数字 转换为 汉字数字 算法

    mysql 函数,可以将数字转换为中文大写形式

    mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。

    将阿拉伯数字转换为汉字数字或者汉字大写金额

    1、该dll能将阿拉伯数字转换为汉字数字或者中文大写金额。例如1234567.07可转换为: “一百二十三万四千五百六十七点零七”或“壹佰贰拾叁万肆仟伍佰陆拾柒圆零柒分”。 目前支持正负千亿以内(整数部分不超过12位)...

    阿拉伯数字转换为中文小写数字

    现在,这个`arabicToChineseSmart`函数可以处理大多数常见的中文数字转换需求。当然,对于更复杂的转换,比如涉及到负数、小数点等,可能还需要进一步扩展和优化。 在实际项目中,我们可能会将这样的功能封装到一个...

    易语言数字转化为汉字

    - 对于非零数字,易语言提供了一种映射表或内建函数,可以直接将数字转换成汉字。 - 零的处理需要特别注意,因为它在汉字中表示为“零”,而不是“〇”。 2. **小数部分的转化**: - 小数部分通常需要转换为分数...

    oracle数字转换中文

    在财务系统中,将数字转换为中文大写是确保数据准确性和满足特定区域语言需求的关键步骤之一。Oracle数据库,作为业界领先的数据库管理系统之一,提供了强大的功能来实现这一需求。 ### Oracle数字转换为中文大写的...

    java 数字转化为汉字大写

    在IT行业中,尤其是在编程领域,将数字转换为汉字大写是一项常见的需求,特别是在财务和会计系统中,因为中国的财务报表通常要求使用汉字大写来表示金额,以避免篡改和提高准确性。Java作为广泛使用的编程语言,提供...

    js实现将数字转换为中文大写

    标题和描述中提到的知识点是关于如何使用JavaScript(简称js)编程语言将阿拉伯数字转换为中文大写形式。这种转换通常在财务相关的软件中很常见,尤其是涉及到金额表述时,为了符合财务规范或增加可读性,需要将数字...

    数字大小写转换(转换为汉字大写)

    本文将深入探讨如何将数字转换为汉字大写,特别是在VC++环境下使用MFC库实现这一功能。首先,我们来理解标题“数字大小写转换(转换为汉字大写)”所指的知识点。 在会计、财务和其他需要精确表示金额的领域,数字...

    JS将数字转换为大写汉字人民币

    JS将数字转换为大写汉字人民币

    c++_将数字转换为汉字

    cout输入一个阿拉伯数字:"; cin>>nNumber; char str[]={"零"}; switch(nNumber) { case 0: { strcpy(str,"零"); break; } case 1: { strcpy(str,"一"); break; } case 2: { ...

    易语言数字转换汉字大写

    在编程领域,尤其是在中文编程环境中,有时我们需要将阿拉伯数字转换为汉字大写,这在财务、会计等领域的报表和凭证中尤为常见。易语言作为一款中国本土开发的、以中文编程为特色的编程语言,提供了方便的方式来实现...

    MySQL函数-数字转换为大写中文

    MySQL函数 数字转中文 非金额 处理数据类型 decimal(21,6)

    将阿拉伯数字转换为汉字数字

    总之,阿拉伯数字到汉字数字的转换是中文编程中常见的需求,`arabChange.dll`提供了这样的功能,使得C#开发者可以方便地将阿拉伯数字转化为符合中文阅读习惯的汉字数字。通过理解和正确使用这个库,可以提高代码的...

    JavaScript实现把数字转换成中文

    以下是一个简单的 JavaScript 函数,用于将阿拉伯数字转换为中文数字。 首先,我们定义了一个名为 `_change` 的对象,这个对象包含了三个数组: 1. `ary0` 数组存储了0到9的中文数字。 2. `ary1` 数组存储了10、...

    阿拉伯数字转换为中文大写

    阿拉伯数字转换为中文大写是将阿拉伯数字转换为中文大写数字的过程。在这个过程中,我们需要使用数组来存储中文大写数字和单位,然后通过遍历阿拉伯数字字符串,逐个将数字转换为中文大写数字,并加上相应的单位。 ...

    数字转换成中文程序 数字转换成中文程序

    数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序...

    python程序设计 将阿拉伯数字转换为大写数字

    将阿拉伯数字转换为大写数字,主要解决小数点问题,

    C# 数字转换成中文

    在编程领域,尤其是在财务软件或报表系统中,将数字转换为中文大写是常见的需求,因为中文大写常用于财务报告、发票等正式文档中,以避免数字篡改。C#作为.NET框架中的主要编程语言,提供了丰富的字符串处理功能,...

    将数字转换为大写汉字的c++程序

    主要运用字符串数组知识的c++基础练习,很简单很能锻炼初学者的一道题

Global site tag (gtag.js) - Google Analytics