您的位置:首页 > 编程语言 > Java开发

java数字到大写金额的转换

2008-09-23 16:07 337 查看
1. public class DAXIEJINE{
2. private static String[] moneynuma = { "零", "壹", "贰", "叁", "肆", "伍", "陆",
3. "柒", "捌", "玖" };
4.
5. private static String[] moneynumb = { "圆", "拾", "佰", "仟", "万", "拾", "佰",
6. "仟", "亿", "拾", "佰", "仟", "兆", "拾", "佰", "仟", "吉", "拾", "佰", "仟",
7. "太", "拾", "佰", "仟", "拍" };
8.
9. private static String[] moneynumc = { "微", "毫", "厘", "分", "角", "圆" };
10.
11. public static String DoubleToBigMoney(double argvalue) {
12. // TODO Auto-generated method stub
13. double dright;
14. double dleft;
15. String s = "";
16. String tmp;
17. if (argvalue < 0) {
18. s = "负";
19. dright = 0 - argvalue;
20. dleft = (0 - argvalue) * 100000 % 100000;
21. } else {
22. dright = argvalue;
23. dleft = argvalue * 100000 % 100000; // 去小数
24. }
25. boolean super0 = true;
26. boolean super00 = true;
27. int j = 0;
28. while (dleft >= 1 && j < moneynumc.length) {
29. if (dleft % 10 == 0 && super0) {
30. } else {
31. s = moneynuma[(int) dleft % 10] + moneynumc[j] + s;
32. super0 = false;
33. }
34. j++;
35. dleft /= 10;
36. }
37. if (s.equals(""))
38. s = "整";
39. j = 0;
40. super0 = true;
41. while (dright >= 1 && j < moneynumb.length) {
42. tmp = "";
43. if ((int) dright % 10 == 0) {
44. tmp = moneynumb[j];
45. if (j % 4 == 0) {
46. if (!super00 || j == 0)
47. s = tmp + s;
48. super00 = false;
49. }
50. if (!super0) {
51. s = moneynuma[(int) dright % 10] + s;
52. }
53. super0 = true;
54. } else {
55. s = moneynuma[(int) dright % 10] + moneynumb[j] + s;
56. super0 = false;
57. super00 = false;
58. }
59. dright /= 10;
60. j++;
61. }
62. return s;
63. }
64.
65. /**
66. * Business method
67. * 处理一位数(0--9)
68. * @ejb.interface-method view-type = "remote"
69. */
70. public static String BitToBigMoney(int argvalue) {
71. // TODO Auto-generated method stub
72. if (argvalue < 0)
73. return "负" + moneynuma[argvalue % 10];
74. else
75. return moneynuma[argvalue % 10];
76. }
77.
78. }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: