Wondering if there is a better way of doing this?
function convert(n) { var romanN = ""; var hundreds = (n / 100 | 0); var fifties = ((n % 100) / 50 | 0); var tens = (((n % 100) % 50) / 10 | 0); var fives = ((((n % 100) % 50) % 10) / 5 | 0); var ones = (((n % 100) % 50) % 10) % 5; if (n < 256) { for (var i = 0; i < hundreds; i++) { romanN = romanN + "C"; } if (n % 100 >= 90 && fifties !== 0) { romanN = romanN + "XC"; fifties--; tens = tens - 4; } for (var i = 0; i < fifties; i++) { romanN = romanN + "L"; } if (n % 50 >= 40 && tens !== 0) { romanN = romanN + "XL"; tens = tens - 4; } for (var i = 0; i < tens; i++) { romanN = romanN + "X"; } if (ones % 4 === 0 && fives % 2 === 1 && ones !== 0 && fives !== 0) { romanN = romanN + "IX"; fives = 0; ones = 0; } for (var i = 0; i < fives; i++) { romanN = romanN + "V"; } if (ones % 4 === 0 && ones !== 0) { //if (fives % 2 === 0 && fives !== 0) { romanN = romanN + "IV"; //} } else { for (var i = 0; i < ones; i++) { romanN = romanN + "I"; } } } else { romanN = "NA"; } return romanN; }
this is the program working http://ideqa.blogspot.com/p/numbers-to-roman-numeral-calculator.html
1 comment
[ 3.2 ms ] story [ 18.4 ms ] thread