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