UNPKG

@kuzanatoliorg/algorithms

Version:

The utils package for react testing library

62 lines (61 loc) 2.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.turnRomeNumberToNumber = void 0; const rome_numbers_constants_1 = require("./rome-numbers.constants"); const turnRomeNumberToNumber = (num) => { let res = ''; while (num >= rome_numbers_constants_1.M) { res += 'M'; num -= rome_numbers_constants_1.M; } if (num >= rome_numbers_constants_1.M - rome_numbers_constants_1.C) { res += 'CM'; num -= rome_numbers_constants_1.M - rome_numbers_constants_1.C; } if (num >= rome_numbers_constants_1.D) { res += 'D'; num -= rome_numbers_constants_1.D; } if (num >= rome_numbers_constants_1.D - rome_numbers_constants_1.C) { res += 'CD'; num -= rome_numbers_constants_1.D - rome_numbers_constants_1.C; } while (num >= rome_numbers_constants_1.C) { res += 'C'; num -= rome_numbers_constants_1.C; } if (num >= rome_numbers_constants_1.C - rome_numbers_constants_1.X) { res += 'XC'; num -= rome_numbers_constants_1.C - rome_numbers_constants_1.X; } if (num >= rome_numbers_constants_1.L) { res += 'L'; num -= rome_numbers_constants_1.L; } if (num >= rome_numbers_constants_1.L - rome_numbers_constants_1.X) { res += 'XL'; num -= rome_numbers_constants_1.L - rome_numbers_constants_1.X; } while (num >= rome_numbers_constants_1.X) { res += 'X'; num -= rome_numbers_constants_1.X; } if (num >= rome_numbers_constants_1.X - rome_numbers_constants_1.I) { res += 'IX'; num -= rome_numbers_constants_1.X - rome_numbers_constants_1.I; } if (num >= rome_numbers_constants_1.V) { res += 'V'; num -= rome_numbers_constants_1.V; } if (num >= rome_numbers_constants_1.V - rome_numbers_constants_1.I) { res += 'IV'; num -= rome_numbers_constants_1.V - rome_numbers_constants_1.I; } while (num >= rome_numbers_constants_1.I) { res += 'I'; num -= rome_numbers_constants_1.I; } return res; }; exports.turnRomeNumberToNumber = turnRomeNumberToNumber;