java 金额转换代码 用switch语句啊将阿拉伯数字转为汉字 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class test1 { /** * @param args */ public static void main(String[] args) { // TODO 自动生成方法存根 String str="100000000.00"; String s=money2upper(str); System.out.println(s); } private static String money2upper(String s) { if (s == null || s.equals("")) return ""; if (s.startsWith("¥") || s.startsWith("$")) s = s.substring(1); String s1 = "" + s; String s2 = "Y"; StringBuffer stringbuffer = new StringBuffer(); int i = 0; boolean flag = true; i = 0; do { if (i >= s1.length()) break; if ((s1.charAt(i) < '0' || s1.charAt(i) > '9') && s1.charAt(i) != '.' && s1.charAt(i) != '-') { flag = false; break; } if (!s1.substring(i, i + 1).equals("0") && !s1.substring(i, i + 1).equals("-") && !s1.substring(i, i + 1).equals(".") && !s1.substring(i, i + 1).equals(" ")) break; i++; } while (true); if (!flag) return s; if (i == s1.length()) if (s2.equalsIgnoreCase("N")) return ""; else return "零元整"; i = s1.indexOf("-"); if (i > -1) { stringbuffer.append("负"); s1 = s1.substring(i + 1); } String s3 = s1; String s4 = "00"; i = s1.indexOf("."); if (i > -1) { s3 = s1.substring(0, i); s4 = s1.substring(i + 1); if (s4.length() == 0) s4 = "00"; if (s4.length() == 1) s4 = s4 + "0"; } boolean flag1 = false; if (s3.startsWith("0") && s3.endsWith("0")) { flag1 = true; } else { String s6 = "N"; for (int j = 0; j < s3.length(); j++) { String s7 = s3.substring(j, j + 1); int k = s3.length() - j - 1; if (s7.equals("0") && k != 0 && k != 4 && k != 8) { s6 = "Y"; continue; } if (s7.equals("0")) { s6 = "N"; String p1=stringbuffer.substring(stringbuffer.length()-1,stringbuffer.length()); String p2=addUnit(k); System.out.println(p1+" "+p2); if(!(p1.equals("亿") && p2.equals("万")) ){ stringbuffer.append(addUnit(k)); } continue; } if (s6.equals("Y")) { stringbuffer.append(dToU("0")); s6 = "N"; } stringbuffer.append(dToU(s7)); stringbuffer.append(addUnit(k)); } } long l = Long.parseLong(s4); for (int i1 = s4.length() - 2; i1 > 0; i1--) { long l1 = l % 10L; l /= 10L; if (l1 >= 5L) l++; } if (l == 0L) { stringbuffer.append("整"); } else { String s5 = String.valueOf(l); if (s5.length() == 1) s5 = "0" + s5; if (s5.startsWith("0") && !s5.endsWith("0")) { if (!flag1) stringbuffer.append("零"); } else { stringbuffer.append(dToU(s5.substring(0, 1))); stringbuffer.append("角"); } String s8 = s5.substring(1, 2); if (!s8.equals("0")) { stringbuffer.append(dToU(s5.substring(1, 2))); stringbuffer.append("分"); } else { stringbuffer.append("整"); } } return stringbuffer.toString(); } private static String dToU(String s) { String s1 = "零壹贰叁肆伍陆柒捌玖"; int i = Integer.parseInt(s); return s1.substring(i, i + 1); } private static String addUnit(int i) { String s = "元拾佰仟万拾佰仟亿拾佰仟万"; return s.substring(i, i + 1); }} 简单问题,望解答,谢谢 对于小的系统用框架做好呢,还是不用框架比较好 新人菜鸟求助! 路径问题, 如何在帖子中把网站链入 请教hibernate高手 Unknown entity class: java.lang.Long 异常 在线等 jquery的图片缩放 讨论贴:建立一个网络学习团队 怎样在xsl文件中使用+、-、*、/、%等运算????请举些例子。 简单问题 怎么样定时更新 高分请教大家一个关于Tomcat的SSL性能问题
public class test1 { /**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String str="100000000.00";
String s=money2upper(str);
System.out.println(s); } private static String money2upper(String s)
{
if (s == null || s.equals(""))
return "";
if (s.startsWith("¥") || s.startsWith("$"))
s = s.substring(1); String s1 = "" + s;
String s2 = "Y";
StringBuffer stringbuffer = new StringBuffer();
int i = 0;
boolean flag = true;
i = 0;
do
{
if (i >= s1.length())
break;
if ((s1.charAt(i) < '0' || s1.charAt(i) > '9') && s1.charAt(i) != '.' && s1.charAt(i) != '-')
{
flag = false;
break;
}
if (!s1.substring(i, i + 1).equals("0") && !s1.substring(i, i + 1).equals("-") && !s1.substring(i, i + 1).equals(".") && !s1.substring(i, i + 1).equals(" "))
break;
i++;
} while (true);
if (!flag)
return s;
if (i == s1.length())
if (s2.equalsIgnoreCase("N"))
return "";
else
return "零元整";
i = s1.indexOf("-");
if (i > -1)
{
stringbuffer.append("负");
s1 = s1.substring(i + 1);
}
String s3 = s1;
String s4 = "00";
i = s1.indexOf(".");
if (i > -1)
{
s3 = s1.substring(0, i);
s4 = s1.substring(i + 1);
if (s4.length() == 0)
s4 = "00";
if (s4.length() == 1)
s4 = s4 + "0";
}
boolean flag1 = false;
if (s3.startsWith("0") && s3.endsWith("0"))
{
flag1 = true;
} else
{
String s6 = "N";
for (int j = 0; j < s3.length(); j++)
{
String s7 = s3.substring(j, j + 1);
int k = s3.length() - j - 1;
if (s7.equals("0") && k != 0 && k != 4 && k != 8)
{
s6 = "Y";
continue;
}
if (s7.equals("0"))
{
s6 = "N";
String p1=stringbuffer.substring(stringbuffer.length()-1,stringbuffer.length());
String p2=addUnit(k);
System.out.println(p1+" "+p2);
if(!(p1.equals("亿") && p2.equals("万")) ){
stringbuffer.append(addUnit(k));
}
continue;
}
if (s6.equals("Y"))
{
stringbuffer.append(dToU("0"));
s6 = "N";
}
stringbuffer.append(dToU(s7));
stringbuffer.append(addUnit(k));
} }
long l = Long.parseLong(s4);
for (int i1 = s4.length() - 2; i1 > 0; i1--)
{
long l1 = l % 10L;
l /= 10L;
if (l1 >= 5L)
l++;
} if (l == 0L)
{
stringbuffer.append("整");
} else
{
String s5 = String.valueOf(l);
if (s5.length() == 1)
s5 = "0" + s5;
if (s5.startsWith("0") && !s5.endsWith("0"))
{
if (!flag1)
stringbuffer.append("零");
} else
{
stringbuffer.append(dToU(s5.substring(0, 1)));
stringbuffer.append("角");
}
String s8 = s5.substring(1, 2);
if (!s8.equals("0"))
{
stringbuffer.append(dToU(s5.substring(1, 2)));
stringbuffer.append("分");
} else
{
stringbuffer.append("整");
}
}
return stringbuffer.toString();
} private static String dToU(String s)
{
String s1 = "零壹贰叁肆伍陆柒捌玖";
int i = Integer.parseInt(s);
return s1.substring(i, i + 1);
} private static String addUnit(int i)
{
String s = "元拾佰仟万拾佰仟亿拾佰仟万";
return s.substring(i, i + 1);
}
}