UNPKG

@siakhooi/number-to-chinese-words

Version:
43 lines 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FloatingNumberConvertor = void 0; const BasicNumberConvertor_1 = require("./BasicNumberConvertor"); class FloatingNumberConvertor { context; basicNumber; constructor(context) { this.context = context; this.basicNumber = new BasicNumberConvertor_1.BasicNumberConvertor(this.context); } convertFloat(number) { if (number - Math.floor(number) === 0) return ''; const start = Math.floor(number).toString().length + 1; const numberToConvert = number.toString(); const stop = numberToConvert.length; return this.context.options.useTraditionalFloatingUnit ? this.convertTraditionalFloatingNumber(start, stop, numberToConvert) : this.convertModernFloatingNumber(start, stop, numberToConvert); } convertTraditionalFloatingNumber(start, stop, numberToConvert) { let r = ''; for (let i = start; i < stop; i++) { const j = Number.parseInt(numberToConvert.substring(i, i + 1)); if (j !== 0) r += this.basicNumber.convert_0_to_9(j, false, false, '') + this.context.characterSet.TRADITIONAL_FLOATING_UNIT[i - start]; } return r; } convertModernFloatingNumber(start, stop, numberToConvert) { let r = ''; for (let i = start; i < stop; i++) { const j = Number.parseInt(numberToConvert.substring(i, i + 1)); r += this.basicNumber.convert_0_to_9(j, false, false, ''); } return r; } } exports.FloatingNumberConvertor = FloatingNumberConvertor; //# sourceMappingURL=FloatingNumberConvertor.js.map