中国の数字へのアラビア数字
中国の数の特徴:
中国の数での「ゼロ」の使用は、次の3つのルールを満たす必要があります。
アルゴリズム設計のいくつかの指示:
セクション変換アルゴリズム:
関数sectiontochinese(section){var strins = ''、chnstr = ''; var unitpos = 0; var zero = true; while(section> 0){var v = section%10; if(v === 0){if(!zero){zero = true; chnstr = chnnumchar [v] + chnstr; }} else {zero = false;ストリン= chnnumchar [v];ストリン += chnunitchar [unitpos]; chnstr = strins + chnstr; } unitpos ++;セクション= math.floor(セクション / 10); } chnstrを返します;}変換アルゴリズムの主な機能:
function numbertochinese(num){var unitpos = 0; var strins = ''、chnstr = ''; var needzero = false; if(num === 0){return chnnumchar [0]; } while(num> 0){var section = num%10000; if(needzero){chnstr = chnnumchar [0] + chnstr; } strins = sectiontochinese(section);ストリン +=(セクション!== 0)? chnunitection [unitpos]:chnunitesection [0]; chnstr = strins + chnstr; Needzero =(セクション<1000)&&(セクション> 0); num = math.floor(num / 10000); Unitpos ++; } chnstrを返します;}アラビア語の数字から中国語の数
デザインのアイデア:
次のオブジェクトで中国の数字をアラビア語に変換します。
var chnnumchar = {zero:0、one:1、2:2、3:3、4:4、5:5、6:6、7、8:8、nine:9};中国の重量位置は10桁に変換され、重量マークは次のオブジェクトを使用して実装されます。
var chnnamevalue = {10:{value:10、secunit:false}、数百:{value:100、secunit:false}、数千:{value:1000、secunit:false}、tens:{value:secunit:true}、tens:{value:valut:10000、secunit:1000000000000000000000000000000000000000000000000000000000000000000変換アルゴリズムは次のとおりです。
function chineseTonumber(chnstr){var rtn = 0; var section = 0; var番号= 0; var secunit = false; var str = chnstr.split( ''); for(var i = 0; i <str.length; i ++){var num = chnnumchar [str [i]]; if(typeof num!== 'undefined'){number = num; if(i === str.length -1){section += number; }} else {var unit = chnnamevalue [str [i]]。value; secunit = chnnamevalue [str [i]]。secunit; if(secunit){section =(section + number) * unit; RTN +=セクション;セクション= 0; } else {section +=(number * unit); } number = 0; }} RTN +セクションを返します;}