Codificador de números romanos a decimal
Ingrese un número romanizado.
Resultado:
{{ result }}
Error. El número romanizado no es válido.
Ingrese un número romanizado.
{{ result }}
Error. El número romanizado no es válido.
export default {
data() {
return {
input: '',
result: null
}
},
methods: {
handleChange(e) {
this.input = e.target.value
},
convert() {
const romanToDecimal = (roman: string): number => {
let decimal = 0;
for(let i = 0; i < roman.length; i++) {
if(i + 1 < roman.length && roman[i] <= roman[i+1]) {
decimal -= this.romanToDecimal(roman.slice(i, i+2));
} else {
decimal += this.romanToDecimal(roman.slice(i, i+1));
}
}
return decimal;
}
if(this.input.match(/^[A-Za-z]+$/)) {
const roman = this.input.toUpperCase();
this.result = romanToDecimal(roman);
} else {
this.result = null;
}
}
}
}
No replies yet.