转换罗马数字使用JavaScript到整数 [英] Convert Roman Numeral to Integer using Javascript
本文介绍了转换罗马数字使用JavaScript到整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个数组,作为罗马数字输出:
VAR细节= lst_details [sltindex] .split(';');
细节[9]; //是罗马数字,我想它作为一个整数;
的细节阵列[9]
是罗马数字,所以我想将它转换为整数。
任何人都知道请帮助我,谢谢。
解决方案
Number.prototype.toRoman =功能(){
变种N = Math.floor(本),缬氨酸,S ='',限制= 3999,I = 0;
V = [1000,900,500,400,100,90,50,40,10,9,5,4,1]
R = [M,CM,D,CD,C,XC,L,XL,X,九,V,Ⅳ' ,'一世'];
如果(N< 1 || N'GT;限制)返回'';
而(ⅰδ13){
VAL = V [I]
而(N> = VAL){
正= VAL;
S + = R [I]
}
如果(N == 0)返回小号;
++我;
}
返回'';
}
功能rtonum(多个){
S =字符串(S).toUpperCase();
如果(s.length→15 || /[^MDCLXVI]/.test(s))返回NaN的;
变种L = s.length,总和= 0,I = 0,接下来,缬氨酸,
R = {
L:1000,D:500,C:100,L:50,X:10,V:5,I:1
};
而(ⅰ&下:L){
VAL = s.charAt(我++);
如果返回NaN的(R [VAL]!);
VAL = R [VAL]
接下来= R [(s.charAt(I)||'N')|| 0;
如果(下一页> VAL)VAL * = -1;
总和+ = VAL;
}
如果(sum.toRoman()== S)收益总和;
返回结果为NaN;
}
变种N = rtonum('C');
警报(N);
从<一个href=\"http://stackoverflow.com/questions/9083037/convert-a-number-into-a-roman-numeral-in-javascript\">Convert一些成罗马数字在JavaScript中。
I have an array that output as roman number:
var details = lst_details[sltindex].split(';');
detail[9];//is roman number and I want it as an integer;
The array of details[9]
is a roman numeral so I want to convert it as integer number.
Anyone know help me please,thanks.
解决方案
Number.prototype.toRoman= function(){
var n= Math.floor(this),val,s= '',limit= 3999,i= 0;
v= [1000,900,500,400,100,90,50,40,10,9,5,4,1],
r= ['M','CM','D','CD','C','XC','L','XL','X','IX','V','IV','I'];
if(n< 1 || n> limit) return '';
while(i<13){
val= v[i];
while(n>= val){
n-= val;
s+= r[i];
}
if(n== 0) return s;
++i;
}
return '';
}
function rtonum (s){
s= String(s).toUpperCase();
if(s.length> 15 || /[^MDCLXVI]/.test(s)) return NaN;
var L= s.length,sum= 0,i= 0,next,val,
R={
M:1000,D:500,C:100,L:50,X:10,V:5,I:1
};
while(i< L){
val= s.charAt(i++);
if(!R[val]) return NaN;
val= R[val];
next= R[(s.charAt(i) || 'N')] || 0;
if(next> val) val*= -1;
sum+= val;
}
if(sum.toRoman()== s) return sum;
return NaN;
}
var n=rtonum('c');
alert(n);
From Convert a number into a Roman Numeral in javaScript.
这篇关于转换罗马数字使用JavaScript到整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文