「java数字小写」java 小写

博主:adminadmin 2023-01-10 11:03:08 712

今天给各位分享java数字小写的知识,其中也会对java 小写进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 怎么判断字母大小写,数字和其他字符的

  publicstatic void main(String[] args)

       {

              String str = "abAM1,!23";

              int cntU = 0; //大写字母的个数

              int cntL = 0; //小写字母的个数

              int cntOther = 0;

              int i;

    

              String s1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

              String s2 ="abcdefghijklmnopqrstuvwxyz";

              for (i=0; istr.length(); ++i)

              {

                     charch = str.charAt(i);

  

                     if(-1 != (s1.indexOf(ch)))

                     {

                            cntU++;

                     }

                     elseif (-1 != s2.indexOf(ch))

                     {

                            cntL++;

                     }

                     else

                     {

                            cntOther++;

                     }

              }

System.out.printf("大写字母个数: %d\n", cntU);

              System.out.printf("小写字母个数: %d\n", cntL);

              System.out.printf("非字母个数: %d\n", cntOther);}

用JAVA如何把小写数字变成大写

我以前用的人名币大小写转换,你改改应该就可以了:

public class Test6 {

static final String zhnum_0 = "零壹贰叁肆伍陆柒捌玖";

static final String zhnum = "零一二三四五六七八九";

static final String[] zhnum1 = { "", "十", "百", "千" };

static final String[] zhnum1_0 = { "", "拾", "佰", "仟" };

static final String[] zhnum2 = { "", "万", "亿", "万亿", "亿亿" };

public Test6() {

}

private static String numberToZH4(String s, boolean fan) {

StringBuffer sb = new StringBuffer();

if (s.length() != 4)

return null;

for (int i = 0; i 4; i++) {

char c1 = s.charAt(i);

if (c1 == '0' i 1 s.charAt(i - 1) == '0')

continue;

if (c1 != '0' i 1 s.charAt(i - 1) == '0')

sb.append('零');

if (c1 != '0') {

if (fan) {

sb.append(zhnum_0.charAt(c1 - 48));

sb.append(zhnum1_0[4 - i - 1]);

} else {

sb.append(zhnum.charAt(c1 - 48));

sb.append(zhnum1[4 - i - 1]);

}

}

}

return new String(sb);

}

public static String numberToZH(long n, boolean fan) {

StringBuffer sb = new StringBuffer();

String strN = "000" + n;

int strN_L = strN.length() / 4;

strN = strN.substring(strN.length() - strN_L * 4);

for (int i = 0; i strN_L; i++) {

String s1 = strN.substring(i * 4, i * 4 + 4);

String s2 = numberToZH4(s1, fan);

sb.append(s2);

if (s2.length() != 0)

sb.append(zhnum2[strN_L - i - 1]);

}

String s = new String(sb);

if (s.length() != 0 s.startsWith("零"))

s = s.substring(1);

return s;

}

public static String numberToZH(double d, boolean fan) {

return numberToZH("" + d, fan);

}

public static String numberToZH(String str, boolean fan) {

StringBuffer sb = new StringBuffer();

int dot = str.indexOf(".");

if (dot 0)

dot = str.length();

String zhengshu = str.substring(0, dot);

sb.append(numberToZH(Long.parseLong(zhengshu), fan));

if (dot != str.length()) {

sb.append("点");

String xiaoshu = str.substring(dot + 1);

for (int i = 0; i xiaoshu.length(); i++) {

if (fan) {

sb.append(zhnum_0.charAt(Integer.parseInt(xiaoshu

.substring(i, i + 1))));

} else {

sb.append(zhnum.charAt(Integer.parseInt(xiaoshu.substring(

i, i + 1))));

}

}

}

String s = new String(sb);

if (s.startsWith("零"))

s = s.substring(1);

if (s.startsWith("一十"))

s = s.substring(1);

while (s.endsWith("零")) {

s = s.substring(0, s.length() - 1);

}

if (s.endsWith("点"))

s = s.substring(0, s.length() - 1);

return s;

}

public static String numberToRMB(double rmb) {

String strRMB = "" + rmb;

DecimalFormat nf = new DecimalFormat("#.#");

nf.setMaximumFractionDigits(2);

strRMB = nf.format(rmb).toString();

strRMB = numberToZH(strRMB, true);

if (strRMB.indexOf("点") = 0) {

strRMB = strRMB + "零";

strRMB = strRMB.replaceAll("点", "圆");

String s1 = strRMB.substring(0, strRMB.indexOf("圆") + 1);

String s2 = strRMB.substring(strRMB.indexOf("圆") + 1);

strRMB = s1 + s2.charAt(0) + "角" + s2.charAt(1) + "分整";

} else {

strRMB = strRMB + "圆整";

}

return "人民币(大写):" + strRMB;

}

public static void main(String[] args) {

System.out.println(numberToRMB(342345.96));

System.out.println(numberToRMB(123));

}

}

Java中怎么将小写阿拉伯数字转换成中文大写,不是金额的转行,而是直接转换成大写汉字。

public class Admin {

public static void main(String[] args) {

String[] arr = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };

String str = "123456";

char[] c = str.toCharArray();

for (int i = 0; i c.length; i++) {

int a = Integer.parseInt(String.valueOf(c[i]));

System.out.print(arr[a]);

}

}

}

java 阿拉伯数字转中文小写?

public class Test7 {

public static void main(String [] args){

//要输入的数字12

String i=12+"";

transition(i);

}

//阿拉伯数字转中文小写?

public static void transition(String si){

String []aa={"","十","百","千","万","十万","百万","千万","亿","十亿"};

String []bb={"一","二","三","四","五","六","七","八","九"};

char[] ch=si.toCharArray();

int maxindex=ch.length;

// 字符的转换

//两位数的特殊转换

if(maxindex==2){

for(int i=maxindex-1,j=0;i=0;i--,j++){

if(ch[j]!=48){

if(j==0ch[j]==49){

System.out.print(aa[i]);

}else{

System.out.print(bb[ch[j]-49]+aa[i]);

}

}

}

//其他位数的特殊转换,使用的是int类型最大的位数为十亿

}else{

for(int i=maxindex-1,j=0;i=0;i--,j++){

if(ch[j]!=48){

System.out.print(bb[ch[j]-49]+aa[i]);

}

}

}

}

}

输出结果:

十二

java数字大小写转换

给你段代码参考:

public class NumToChinese {

public static String NumberToChinese(String input){

String s1="零壹贰叁肆伍陆柒捌玖";

String s4="分角整元拾佰仟万拾佰仟亿拾佰仟";

String temp="";

String result="";

if (input==null) return "输入的字串不是数字串只能包括以下字符('0'~'9','.'),输入字串最大只能精确到仟亿,小数点只能两位!";

temp=input.trim();

float f;

try{

f=Float.parseFloat(temp);

}catch(Exception e){

return "输入的字串不是数字串只能包括以下字符('0'~'9','.'),输入字串最大只能精确到仟亿,小数点只能两位!";

}

int len=0;

if(temp.indexOf(".")==-1) len=temp.length();

else len=temp.indexOf(".");

if(lens4.length()-3) return("输入字串最大只能精确到仟亿,小数点只能两位!");

int n1=0;

String num="";

String unit="";

for(int i=0;itemp.length();i++){

if(ilen+2){break;}

if(i==len) {continue;}

n1=Integer.parseInt(String.valueOf(temp.charAt(i)));

num=s1.substring(n1,n1+1);

n1=len-i+2;

unit=s4.substring(n1,n1+1);

result=result.concat(num).concat(unit);

}

if((len==temp.length())||(len==temp.length()-1)) result=result.concat("整");

if(len==temp.length()-2) result=result.concat("零分");

return result;

}

}

java如何把大写的金额改成小写

/**

* @(#)SimpleMoneyFormat.java

*

*金额转换,阿拉伯数字的金额转换为中国传统的形式输出

* @lpxuan

* @version 1.00 2010/7/31

*/

import java.text.NumberFormat;

import java.util.HashMap;

import java.lang.StringBuffer;

public class SimpleMoneyFormat {

public static final String EMPTY="";

public static final String ZERO="零";

public static final String ONE="壹";

public static final String TWO="贰";

public static final String THREE="叁";

public static final String FOUR="肆";

public static final String FIVE="伍";

public static final String SIX="陆";

public static final String SEVEN="柒";

public static final String EIGHT="捌";

public static final String NINE="玖";

public static final String TEN="拾";

public static final String HUNDRED="佰";

public static final String THOUSAND="仟";

public static final String TEN_THOUSAND="万";

public static final String HUNDRED_MILLION="亿";

public static final String YUAN="元";

public static final String JIAO="角";

public static final String FEN="分";

public static final String DOT=".";

private static SimpleMoneyFormat formatter=null;

private HashMap chineseNumberMap=new HashMap();

private HashMap chineseMoenyPattern=new HashMap();

private NumberFormat numberFormat=NumberFormat.getInstance();

//私有构造函数

private SimpleMoneyFormat() {

numberFormat.setMaximumFractionDigits(4);

numberFormat.setMinimumFractionDigits(2);

numberFormat.setGroupingUsed(false);

chineseNumberMap.put("0",ZERO);

chineseNumberMap.put("1",ONE);

chineseNumberMap.put("2",TWO);

chineseNumberMap.put("3",THREE);

chineseNumberMap.put("4",FOUR);

chineseNumberMap.put("5",FIVE);

chineseNumberMap.put("6",SIX);

chineseNumberMap.put("7",SEVEN);

chineseNumberMap.put("8",EIGHT);

chineseNumberMap.put("9",NINE);

chineseNumberMap.put(DOT,DOT);

chineseMoenyPattern.put("1",TEN);

chineseMoenyPattern.put("2",HUNDRED);

chineseMoenyPattern.put("3",THOUSAND);

chineseMoenyPattern.put("4",TEN_THOUSAND);

chineseMoenyPattern.put("5",TEN);

chineseMoenyPattern.put("6",HUNDRED);

chineseMoenyPattern.put("7",THOUSAND);

chineseMoenyPattern.put("8",HUNDRED_MILLION);

}

//单例模式

public static SimpleMoneyFormat getInstance(){

if(formatter==null)

formatter=new SimpleMoneyFormat();

return formatter;

}

public String format(String moneyStr){

checkPrecision(moneyStr);

String result;

result=convertToChineseNumber(moneyStr);

result=addUnitsToChineseMoenyString(result);

return result;

}

public String format(double moneyDouble){

return format(numberFormat.format(moneyDouble));

}

public String format(int moneyInt){

return format(numberFormat.format(moneyInt));

}

public String format(long moneyLong){

return format(numberFormat.format(moneyLong));

}

public String format(Number moneyNum){

return format(numberFormat.format(moneyNum));

}

private String convertToChineseNumber(String moneyStr){

String result;

StringBuffer cMoneyStringBuffer =new StringBuffer();

for(int i=0;imoneyStr.length();i++){

cMoneyStringBuffer.append(chineseNumberMap.

get(moneyStr.substring(i,i+1)));

}

int indexOfDot=cMoneyStringBuffer.indexOf(DOT);

int moneyPatternCursor=1;

for(int i=indexOfDot-1;i0;i--){

cMoneyStringBuffer.insert(i,

chineseMoenyPattern.get(EMPTY+moneyPatternCursor));

moneyPatternCursor=moneyPatternCursor==

8?1:moneyPatternCursor+1;

}

String fractionPart=cMoneyStringBuffer.substring(

cMoneyStringBuffer.indexOf("."));

cMoneyStringBuffer.delete(

cMoneyStringBuffer.indexOf("."),

cMoneyStringBuffer.length());

while(cMoneyStringBuffer.indexOf("零拾")!=-1){

cMoneyStringBuffer.replace(

cMoneyStringBuffer.indexOf("零拾"),

cMoneyStringBuffer.indexOf("零拾")+2,ZERO);

}

while(cMoneyStringBuffer.indexOf("零佰")!=-1){

cMoneyStringBuffer.replace(

cMoneyStringBuffer.indexOf("零佰"),

cMoneyStringBuffer.indexOf("零佰")+2,ZERO);

}

while(cMoneyStringBuffer.indexOf("零仟")!=-1){

cMoneyStringBuffer.replace(

cMoneyStringBuffer.indexOf("零仟"),

cMoneyStringBuffer.indexOf("零仟")+2,ZERO);

}

while(cMoneyStringBuffer.indexOf("零万")!=-1){

cMoneyStringBuffer.replace(

cMoneyStringBuffer.indexOf("零万"),

cMoneyStringBuffer.indexOf("零万")+2,TEN_THOUSAND);

}

while(cMoneyStringBuffer.indexOf("零亿")!=-1){

cMoneyStringBuffer.replace(

cMoneyStringBuffer.indexOf("零亿"),

cMoneyStringBuffer.indexOf("零亿")+2,HUNDRED_MILLION);

}

while(cMoneyStringBuffer.indexOf("零零")!=-1){

cMoneyStringBuffer.replace(

cMoneyStringBuffer.indexOf("零零"),

cMoneyStringBuffer.indexOf("零零")+2,ZERO);

}

if(cMoneyStringBuffer.lastIndexOf(ZERO)

==cMoneyStringBuffer.length()-1){

cMoneyStringBuffer.delete(

cMoneyStringBuffer.length()-1,

cMoneyStringBuffer.length());

}

cMoneyStringBuffer.append(fractionPart);

result=cMoneyStringBuffer.toString();

return result;

}

private String addUnitsToChineseMoenyString(String moneyStr){

String result;

StringBuffer cMoneyStringBuffer=new StringBuffer(moneyStr);

int indexOfDot=cMoneyStringBuffer.indexOf(DOT);

cMoneyStringBuffer.replace(indexOfDot,indexOfDot+1,YUAN);

cMoneyStringBuffer.insert(cMoneyStringBuffer.length()-1,JIAO);

cMoneyStringBuffer.insert(cMoneyStringBuffer.length(),FEN);

//拾佰仟万亿等都是汉字里面才有的单位,加上它们

if(cMoneyStringBuffer.indexOf("零角零分")!=-1)//去掉零头,加整

cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf("零角零分"),

cMoneyStringBuffer.length(),"整");

else if(cMoneyStringBuffer.indexOf("零分")!=-1)//去掉零分,加整

cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf("零分"),

cMoneyStringBuffer.length(),"整");

else if(cMoneyStringBuffer.indexOf("零角")!=-1)

cMoneyStringBuffer.delete(cMoneyStringBuffer.indexOf("零角"),

cMoneyStringBuffer.indexOf("零角")+2);

result=cMoneyStringBuffer.toString();

return result;

}

//检查精度的合法性

private void checkPrecision(String moneyStr){

int fractionDigits=moneyStr.length()-moneyStr.indexOf(DOT)-1;

if(fractionDigits2)//精度不能比分低

throw new RuntimeException("金额"+moneyStr+"的小数位数多余两位.");

}

public static void main(String[] args){

System.out.println(getInstance().format(new Double(10010001.01)));

}

}

关于java数字小写和java 小写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。