Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var DATA = [
- ['오백삼십조칠천팔백구십만천오백삼십구', '삼조사천이만삼천구'],
- ['육십사억삼천이만팔만칠천육백구', '사십삼'],
- ['구백육십조칠천억팔천이백삼십이만칠천일', '사십삼조오천이백억육천구백삼십만일'],
- ['이천구백육십사조삼천오백칠십이만삼천구백구십', '삼천사백오십조일억이천일만육백사십삼'],
- ['사십오억삼천육십만오백구십', '칠십억천이백삼십오만칠천구십이'],
- ['천백십일', '구천오백구십구'],
- ['오억사천', '백십일'],
- ['만오천사백삼십', '십구만삼천오백'],
- ['일조', '삼'],
- ['일억', '만'],
- ];
- var nums=[[1,"일"],[2,"이"],[3,"삼"],[4,"사"],[5,"오"],[6,"육"],[7,"칠"],[8,"팔"],[9,"구"]];
- var unit=[[10,"십"],[100,"백"],[1000,"천"],
- [10000,"만"],[100000000,"억"],[1000000000000,"조"]];
- function getNum(s1, s2, add_sum) {
- console.log(`getNum() s1:${s1}, s2:${s2} add_sum:${add_sum}`);
- for (var j=0; j<nums.length; j++) {
- if (s1==nums[j][1]) {
- return (nums[j][0] + add_sum) * getUnit(s2);
- }
- }
- return 0; //not find number
- }
- function getUnit(s) {
- for (var i=0; i<unit.length; i++) {
- if (s == unit[i][1]) {
- return unit[i][0];
- }
- }
- return 1;
- }
- function convStringToNumber(s) {
- var sum = 0;
- var add_sum = 0;
- //console.log(`s.length:${s.length}`);
- for (var i=0; i<s.length; i++) {
- tmp = getNum(s.substring(i, i+1), s.substring(i+1, i+2), add_sum);
- sum += tmp;
- add_sum = 0;
- if (tmp == 0) {
- if("만억조".indexOf(s.substring(i+1, i+2)) == -1) {
- sum += getUnit(s.substring(i, i+1));
- }
- else {
- add_sum += getUnit(s.substring(i, i+1));
- }
- } else i++;
- console.log(`sum:${sum}, tmp:${tmp}`);
- }
- return sum;
- }
- console.log('만사천오백십');
- console.log(convStringToNumber('만사천오백십'));
- console.log('만삼천오백');
- console.log(convStringToNumber('만삼천오백'));
- console.log('십구만삼천오백');
- console.log(convStringToNumber('십구만삼천오백'));
- //console.log(DATA[0][0]);
- //console.log(convStringToNumber(DATA[0][0]));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement