UNPKG

chinese-numbering

Version:
101 lines (73 loc) 2.77 kB
# chinese-numbering [![npm package chinese-numbering](https://img.shields.io/npm/v/chinese-numbering?style=flat-square)](http://npm.im/chinese-numbering) [![GitHub package.json dependency version (dev dep on branch)](https://img.shields.io/github/package-json/dependency-version/EqualMa/chinese-numbering/dev/typescript?style=flat-square)]() [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)](https://github.com/semantic-release/semantic-release) format numbers as chinese words and ordinals ## Install ```shell npm install chinese-numbering yarn add chinese-numbering ``` ## Usage ### import - Node.js ```js const cn = require("chinese-numbering"); console.log(cn.numberToChinese(11)); ``` - Browser - with iife / umd bundle: ```html <script src="https://unpkg.com/chinese-numbering@1.x/bundle/iife.js"></script> <script> const cn = window.ChineseNumbering; alert("ChineseNumbering is formatting 11 to " + cn.numberToChinese(11)); </script> ``` - with es module bundle: ```html <script type="module"> import * as cn from "https://unpkg.com/chinese-numbering@1.x/bundle/es.js"; alert("ChineseNumbering is formatting 11 to " + cn.numberToChinese(11)); </script> ``` - ES Modules ```js import * as cn from "chinese-numbering"; console.log(cn.numberToChinese(11)); ``` ### number to Simplified / Traditional Chinese ```js // Simplified Chinese 简体中文 // 一万零一点六 cn.numberToChinese(10001.6); cn.numberToChinese(10001.6, "s"); cn.numberToChinese(10001.6, "simplified"); cn.numberToChinese(10001.6, { chineseType: "simplified" }); // Tradition Chinese 繁體中文 // 一萬零一點六 cn.numberToChinese(10001.6, "t"); cn.numberToChinese(10001.6, "traditional"); cn.numberToChinese(10001.6, { chineseType: "traditional" }); // negative numbers 负数 cn.numberToChinese(-1200); // 负一千二百 cn.numberToChinese(-0.5, "t"); // 負零點五 ``` ### Keep the first `One` ```js // not keep the first `One` cn.numberToChinese(12); // 十二 // Keep the first `One` cn.numberToChinese(12, { keepOne: true }); // 一十二 ``` ### Ordinal ```js cn.numberToChineseOrdinal(12); // 第十二 cn.numberToChineseOrdinal(12, { keepOne: true }); // 第一十二 cn.numberToChineseOrdinal(10000, { chineseType: "t" }); // 第一萬 // with Arabic numerals cn.numberToChineseOrdinalWithArabic(12); // 第12 ``` ## License MIT © [Equal Ma](https://github.com/EqualMa) > The algorithm to format number as Chinese words is inspired by [digi3studio/number-to-chinese-words](https://github.com/digi3studio/number-to-chinese-words/blob/master/src/index.js). Great Thanks to digi3studio.