久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

java程序:轉(zhuǎn)化金額

 新進(jìn)小設(shè)計(jì) 2020-06-01

在處理財(cái)務(wù)賬款時(shí),,需要將轉(zhuǎn)賬金額寫成大寫的。也就是說,,如果要轉(zhuǎn)賬123456.00元,,則需要寫成“壹拾貳萬叁仟肆佰伍拾陸元整”,。
所以常常需要通過程序控制自動(dòng)進(jìn)行轉(zhuǎn)換。本實(shí)例實(shí)現(xiàn)了小寫金額到大寫金額的轉(zhuǎn)換,。

具體代碼如下:

import java.text.DecimalFormat;
import java.util.*;
//@北冥道人騎鯤打代碼
public class f2 {
    private static String[] numBig = { "零", "壹", "貳", "叁", "肆",  "伍", "陸", "柒", "捌", "玖" };
    private static String[] numInt = { "", "拾", "佰", "仟", "萬", "拾", "佰", "仟", "億", "拾", "佰", "仟" };// 整數(shù)單位
    private static String[] numFloat = { "厘", "分", "角" };// 小數(shù)單位
    
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("請(qǐng)輸入金額");
        double money = input.nextDouble();

        //格式化double數(shù)字
        DecimalFormat df = new DecimalFormat("#0.###");//此時(shí)strNum小數(shù)位最多3位 
        String strNum = df.format(money);
        if (strNum.indexOf(".") > 0 ) {//判斷是否有小數(shù)
            String strMoneyInt = strNum.substring(0, strNum.indexOf("."));
            if(strMoneyInt.length() > 12){
                System.out.println("數(shù)字太大了,轉(zhuǎn)換不了");
            }else{
                System.out.println(getInt(strNum) + "元" + getDouble(strNum));
            }
        }
        else{
            if(strNum.length() > 12){
                System.out.println("數(shù)字太大了,,轉(zhuǎn)換不了");
            }else{
                System.out.println(getInt(strNum) + "元整");
            }
        }
    }
    
    //整數(shù)部分
    public static String getInt(String str) {
        if(str.indexOf(".") != -1){
            str = str.substring(0,str.indexOf("."));//截取小數(shù)點(diǎn)前面的數(shù)字
        }
        str = new StringBuffer(str).reverse().toString();//反轉(zhuǎn)字符串
        StringBuffer strB = new StringBuffer(); //創(chuàng)建一個(gè)空的StringBuffer對(duì)象
        for (int i = 0; i < str.length(); i++){ //把單位添加進(jìn)去
            strB.append(numInt[i]);
            strB.append(numBig[(str.charAt(i)-48)]);
            //str.charAt(i)-48,,這里-48是因?yàn)閟tr.charAt(i)-48為ASCII碼
            //而參照ASCII碼:
            //ASCII碼為 48 ==》0
            //ASCII碼為 49 ==》1 ...
        }
        str = strB.reverse().toString();//把反轉(zhuǎn)過的字符串還原

        //替換字符串多于的字符
        if (str.indexOf("零拾") != -1){str = str.replace( "零拾", "零");}
        if (str.indexOf("零佰") != -1){str = str.replace( "零拾", "零");}
        if (str.indexOf("零仟") != -1){str = str.replace( "零拾", "零");}
        if (str.indexOf("零萬") != -1){str = str.replace( "零拾", "萬");}
        if (str.indexOf("零億") != -1){str = str.replace( "零拾", "億");}
        if (str.indexOf("零零") != -1){str = str.replace( "零拾", "零");}
        if (str.indexOf("億萬") != -1){str = str.replace( "零拾", "億");}

        //除去零的結(jié)尾
        if (str.lastIndexOf("零") == str.length() - 1) {
            str = str.substring(0, str.length() - 1);
        }
        return str;
    }
    
    //小數(shù)部分
    public static String getDouble(String str) {
        str = str.substring(str.indexOf(".") + 1);//截取小數(shù)點(diǎn)后的數(shù)字

        //解決單位錯(cuò)位
        if(str.length() == 1){str = str +"00";}
        else if(str.length() == 2){str = str +"0";}

        str = new StringBuffer(str).reverse().toString();//反轉(zhuǎn)字符串
        StringBuffer strB = new StringBuffer();//創(chuàng)建一個(gè)空的StringBuffer對(duì)象
        for (int i = 0; i < str.length(); i++) {//把單位添加進(jìn)去
            strB.append(numFloat[i]);
            strB.append(numBig[str.charAt(i) - 48]);
        }
        str = strB.reverse().toString();//把反轉(zhuǎn)過的字符串還原

        //替換字符串多于的字符
        if (str.indexOf("零角") != -1){str = str.replace( "零角", "零");}
        if (str.indexOf("零分") != -1){str = str.replace( "零分", "零");}
        if (str.indexOf("零厘") != -1){str = str.replace( "零厘", "零");}
        if (str.indexOf("零零") != -1){str = str.replace( "零零", "零");}

        //除去零的結(jié)尾
        if (str.lastIndexOf("零") == str.length() - 1) {
            str = str.substring(0, str.length() - 1);
        }
        return str;
    }
}

 

運(yùn)行截圖:

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多