@siakhooi/number-to-chinese-words
Version:
Library to translate number into chinese words
43 lines • 1.76 kB
JavaScript
;
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