「java数字小写」java 小写
今天给各位分享java数字小写的知识,其中也会对java 小写进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java 怎么判断字母大小写,数字和其他字符的
- 2、用JAVA如何把小写数字变成大写
- 3、Java中怎么将小写阿拉伯数字转换成中文大写,不是金额的转行,而是直接转换成大写汉字。
- 4、java 阿拉伯数字转中文小写?
- 5、java数字大小写转换
- 6、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 小写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。