日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

千亿级别数字的人民币读法

發布時間:2024/4/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 千亿级别数字的人民币读法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
</pre><pre name="code" class="java">package com.sungeo; /*** 人民幣的讀法是四位一節。 x仟x百x拾 x (億) x仟x百x拾 x (萬) x仟x百x拾 x * @author Administrator*/ public class NumToRmb {private String[] hanArr=new String[]{"零","壹","貳","叁","肆","伍","陸","柒","捌","玖"};private String[] unitArr=new String[]{"拾","百","仟"};private String[] wyArr=new String[]{"萬","億"};private static String[] xiaoArr=new String[]{"分","角","圓"};/*** @param args*/public static void main(String[] args) {NumToRmb toRMB=new NumToRmb();String[] arr=toRMB.divideDouble(12001234.12);//輸入數字,變成保留兩位小數的人民幣讀法,支持千億級別的人民幣讀法int len=checkLength(arr[0]);String readHan="";if(len<=4){readHan=toRMB.readZheng4(arr[0]);}else if(len<=8){readHan=toRMB.readZheng8(arr[0]);}else if(len<=12){readHan=toRMB.readZheng12(arr[0]);}else {System.out.println("僅僅支持千億級讀法!");}System.out.println(readHan+(readHan==""?"":xiaoArr[2])+toRMB.readXiao(arr[1]));}private static int checkLength(String str){return str.length();}/*** 長度小于等于12的整數讀法*/private String readZheng12(String numStr){String result="";String last8Str=numStr.substring(numStr.length()-8);String result8=readZheng8(last8Str);String first=numStr.substring(0, numStr.length()-8);String firstStr=readZheng4(first);result=firstStr+wyArr[1]+result8;return result;} /*** 長度小于等于8的整數讀法* @param numStr* @return*/private String readZheng8(String numStr){String result="";String last4Str=numStr.substring(numStr.length()-4);String result4=readZheng4(last4Str);String first=numStr.substring(0, numStr.length()-4);String firstStr=readZheng4(first);result=firstStr+wyArr[0]+result4;return result;}/***長度小于等于4的整數的讀法*/private String readZheng4(String numStr){String result="";for(int i=0;i<numStr.length();i++){int num=numStr.charAt(i)-48;//‘4’->4;if(num!=0&&i!=numStr.length()-1){result+=hanArr[num]+unitArr[numStr.length()-i-2];}else if(num==0){ //中間為0的不讀取}else {result+=hanArr[num];}}return result;}/*** 小數的讀法*/private String readXiao(String xiaoStr){String result="";for(int i=0;i<xiaoStr.length();i++){int num=xiaoStr.charAt(i)-48;//‘4’->4;if(num!=0 ){result+=hanArr[num]+xiaoArr[xiaoArr.length-i-2];}}return result;}/*** 將一個double數切割成小數和整數兩部分; 3.14d -> {"3","14"}* @param d 要切割的double 數* @return 整數和小數形成的字符串數組 */private String[] divideDouble(double d){if(d<=0){System.out.println("請輸入有效金額。");}String zheng=(long)d+"";String xiao=(long)Math.round((d%1*100))+"";return new String[]{zheng,xiao};}}

總結

以上是生活随笔為你收集整理的千亿级别数字的人民币读法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。