摘要:零壹貳叁肆伍陸柒捌玖拾佰仟萬拾佰仟億拾佰仟萬拾佰仟整數部分小數部分結果是否為你輸入的數字過大當前位的數字當前位的數字對應的中文大寫數字當前位的前一位數字當前位的前第二位數字當前位的第三位數字當前位的后第一位數字當前位的后第二位數字當前
function toCNcase(num) { num = String(num); var cn = ["零", "壹", "貳", "叁", "肆", "伍", "陸", "柒", "捌", "玖"]; var position = ["", "拾", "佰", "仟", "萬", "拾", "佰", "仟", "億", "拾", "佰", "仟", "萬", "拾", "佰", "仟"]; // 整數部分 var intPart = num.split(".")[0]; // 小數部分 var floatPart = num.split(".")[1]; // 結果 var result = ""; // 是否為0 var isZero = false; if(intPart.length > position.length){ return "你輸入的數字過大" } for (var index = 0; index < intPart.length; index++) { var num = intPart[index]; // 當前位的數字 var numCN = cn[num]; // 當前位的數字對應的中文大寫數字 var numPreOne = intPart[index - 1]; // 當前位的前一位數字 var numPreTwo = intPart[index - 2]; // 當前位的前第二位數字 var numPreThree = intPart[index - 3]; // 當前位的第三位數字 var numNextOne = intPart[index + 1] // 當前位的后第一位數字 var numNextTwo = intPart[index + 2] // 當前位的后第二位數字 var numNextThree = intPart[index + 3] // 當前位的后第三位數字 var pos = position[intPart.length - index - 1] // 當前數字對應的單位 if (num != 0) { // 當前位數字不為0,用大寫數加單位 result += numCN + pos; } else if ("億" === pos || ("萬" === pos && [numPreOne, numPreTwo, numPreThree].some(function (num) { return num !== "0" }))) { // 當前位數字為0,單位億不能省略,單位萬的前三位任意一位不為0,不能省略萬 result += pos; } else if ("仟" === pos && [numNextOne, numNextTwo, numNextThree].some(function (num) { return num !== "0" })) { // 當前數字是0,單位是含有仟,并且后四位不全部為0,補充一個零 result += numCN; } else if ("佰" === pos && numPreOne !== "0" && [numNextOne, numNextTwo].some(function (num) { return num !== "0" })) { // 當前位數字為0,單位含有佰,并且當前位的前一位不為0,補充一個零 result += numCN; } else if ("拾" === pos && numPreOne !== "0" && numNextOne !== "0") { // 當前位數字為0,單位含有拾,并且當前位的前一位不為0,補充一個零 result += numCN; } } result += "圓" var floatPositon = ["角","分"]; for (var index = 0; index < floatPart.length; index++) { var num = floatPart[index]; // 當前位的數字 var numCN = cn[num]; // 當前位的數字對應的中文大寫數字 var pos = floatPositon[index] || ""; if(num !== "0" && pos){ result += numCN + pos ; } } return result; }
使用方式:toCNcase(11002031022.0234);
結果:壹佰壹拾億零貳佰零叁萬壹仟零貳拾貳圓貳分
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/99300.html
摘要:將人民幣中金額數字轉化為中文大寫壹拾貳億叁仟肆佰伍拾陸萬柒仟捌佰玖拾圓零壹貳叁肆伍陸柒捌玖圓角分拾佰仟萬拾佰仟億 1.將人民幣中金額數字轉化為中文大寫 echo toChineseNumber(1234567890);//壹拾貳億叁仟肆佰伍拾陸萬柒仟捌佰玖拾圓 function toChineseNumber($money){ $money = round($money,2);...
摘要:壹拾貳億叁仟肆佰伍拾陸萬柒仟捌佰玖拾圓零壹貳叁肆伍陸柒捌玖圓角分拾佰仟萬拾佰仟億 phpecho toChineseNumber(1234567890);//壹拾貳億叁仟肆佰伍拾陸萬柒仟捌佰玖拾圓 function toChineseNumber($money){ $money = round($money,2); $cnynums = array(零,壹,貳,叁,肆,...
摘要:目前較好的語音識別系統采用雙向長短時記憶網絡,,這種網絡能夠對語音的長時相關性進行建模,從而提高識別正確率。因而科大訊飛使用深度全序列卷積神經網絡來克服雙向的缺陷。 人工智能的應用中,語音識別在今年來取得顯著進步,不管是英文、中文或者其他語種,機器的語音識別準確率在不斷上升。其中,語音聽寫技術的發展更為迅速,目前已廣泛在語音輸入、語音搜索、語音助手等產品中得到應用并日臻成熟。但是,語音應用的...
摘要:數字轉換成中文針對財務數據將金額數據轉換成大寫,在網上有很多例子,總感覺有更簡單的方式實現,下面是具體的源碼和探究。目前支持持位數,如果更大的數據可進行修正。 數字轉換成中文 針對財務數據將金額數據轉換成大寫,在網上有很多例子,總感覺有更簡單的方式實現,下面是具體的源碼和探究。如果疑問,或更好的建議歡迎留言,共同學習。 源碼 class NumToZh_cn { numLeve...
閱讀 1578·2021-11-25 09:43
閱讀 2482·2019-08-30 15:54
閱讀 2946·2019-08-30 15:53
閱讀 1096·2019-08-30 15:53
閱讀 755·2019-08-30 15:52
閱讀 2545·2019-08-26 13:36
閱讀 814·2019-08-26 12:16
閱讀 1216·2019-08-26 12:13