java30位数字字符转金额

java30位数字字符转金额,第1张

java30位数字字符转金额
步骤如下
1、进行输入 *** 作,并进行判断是否超过七位数或者输入的数为负数,或输入不合法的数。
while(true){
Scanner sc = new Scanner(Systemout);
Systemoutprintln("输入数字:");
number = scnextInt();
if(number >= 0 && number <= 999999){
break;
}else{
Systemoutprintln("输入无效!");
}
}
复制
2、定义一个方法 getCapitalNumber 用来将数字转换为对应的大写
public static String getCapitalNumber(int number){
String[] str = {"零", "壹", "贰", "叁", "肆", "伍", "陆","柒","捌","玖"};
return str[number];
}
复制
3、数字转换为大写的过程
numberStr = "";
while(true){
ge = number % 10;//取到输入金额的最后一位数字
String capitalNumber = getCapitalNumber(ge);//将金额的最后一位数字传入getCapitalNumber()方法中,转换为对应的大写
numberStr = capitalNumber + numberStr;//转换为大写后的数字进行拼接
number = number / 10;
//结束条件 --数字遍历完
if(number == 0){
break;
}

}
复制

4、在转换为大写后,不足七位的要在前面补零,零的个数为 7- (输入金额的位数)。
int count = 7 - numberStrlength();
for(int i = 0; i < count; i++){
numberStr = "零" + numberStr;
}
复制
5、将单位与对应的大写数字拼接
String result = "";
String[] arr = {"佰","拾","万","仟","佰","拾","元"};
for(int i = 0; i < numberStr; i++){
char c = numberStrcharAt(i);
result = result + c + arr[i];
}
复制
6、放入完整的代码

你这个问题很难回答的。金额有太多种情况了:
这个金额有没有单位?
假如有单位,那是哪种金额,美元?人民币?英镑?
假如是人民币,那么它是以元作为单位的符号还是以¥为单位?
假如是以¥为单位,那么¥是在前面还是后面,有没有小数点?有没有逗号?
有没有角、分等单位?
还有人民币也有可能是这样的 六元 ,陆元,陆圆。
当然我说的有些是很偏的,一般不会这样。
但正常的情况金额也有很多种类型的,建议你把问题写具体一点。
一个正则表达式很难包含这么多种情况。

String re = "([1-9]\\d|0)(\\\\d{1,2})";
Systemoutprintln("112"matches(re));//true
Systemoutprintln("0112"matches(re));//false
Systemoutprintln("1123"matches(re));//false
Systemoutprintln("1112"matches(re));//true

<input type="submit" value="ok" onclick="return doNumber();">
function doNumber(){
String feeCode = requestgetParameter("feeCode")value;
    if(!feeCodemacth("^[0-9_]+$")){
            alert("不是数字");
            return false;
    }else{
            alert("是数字");
            return true;
    }
}

String str = "尊敬的用户,您末位8237的订单,支付金额为001元,验证码671906,15:08发送,请及时输入,切勿泄露,任何索取均为欺诈。";
String reg = "末位()的订单支付金额为([^元])元验证码(\\d+),([\\d:]+)发";
String a = strreplaceAll(reg,"$1");
String b = strreplaceAll(reg,"$2");
String c = strreplaceAll(reg,"$3");
String d = strreplaceAll(reg,"$4");

public static boolean isJavaIdentifier(String input) {
if (input != null && inputlength() > 0) {
int pos = 0;
if (CharacterisJavaIdentifierStart(inputcharAt(pos))) {
while (++pos < inputlength()) {
if (!CharacterisJavaIdentifierPart(inputcharAt(pos))) {
return false;
}
}
return true;
}
}
return false;
}
除了isJavaIdentifierStart()和isJavaIdentifierPart()配合使用判断标识符之外,还可以根据标识符的定义,借助正则表达式来判断是否是标识符


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13398326.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-28
下一篇 2023-07-28

发表评论

登录后才能评论

评论列表(0条)

保存