UNPKG

chinese-number-format

Version:
136 lines (94 loc) 3.74 kB
# chinese-number-format [![NPM version][npm-version-image]][npm-url] > A utility for converting between Chinese numerals and Arabic numbers, supporting both Traditional (zh-TW) and Simplified Chinese (zh-CN). ## Features - Convert numbers to Chinese characters - Convert numbers to Chinese with units (up to 載/载) - Convert numbers to approximate Chinese with units - Convert Chinese characters to numbers - Convert to uppercase Chinese numerals - Support both Traditional Chinese (zh-TW) and Simplified Chinese (zh-CN) ## Installation ```bash npm install chinese-number-format ``` ## API Reference ### Basic Conversion ```js import { toChinese } from 'chinese-number-format'; // Basic number to Chinese toChinese(1234567890, 'zh-TW'); // => '一二三四五六七八九零' toChinese(9876543210, 'zh-CN'); // => '九八七六五四三二一零' ``` ### Units Conversion ```js import { toChineseWithUnits } from 'chinese-number-format'; // Number to Chinese with units toChineseWithUnits(1234567890, 'zh-TW'); // => '一十二億三千四百五十六萬七千八百九十' toChineseWithUnits(123.45, 'zh-CN'); // => '一百二十三点四五' ``` ### Approximate Numbers ```js import { toChineseApproximate } from 'chinese-number-format'; // Convert to approximate values toChineseApproximate(12345); // => '一點二萬' toChineseApproximate(1234567890, { locale: 'zh-CN' }); // => '十二点三亿' toChineseApproximate(12345, { precision: 2 }); // => '一點二三萬' ``` ### Chinese to Number ```js import { toNumber } from 'chinese-number-format'; // Chinese to number toNumber('一二三四五六七八九零'); // => 1234567890 toNumber('一二三點四五'); // => 123.45 ``` ### Uppercase Conversion ```js import { toUpperCase } from 'chinese-number-format'; // Convert to uppercase Chinese numerals toUpperCase('一二三', 'zh-TW'); // => '壹貳參' toUpperCase('123', 'zh-CN'); // => '壹贰叁' ``` ### Month Conversion ```js import { toChineseMonth } from 'chinese-number-format'; // Convert to Chinese month toChineseMonth(1); // => '一月' toChineseMonth(1, { format: 'traditional' }); // => '正月' toChineseMonth(12, { locale: 'zh-CN', format: 'traditional' }); // => '腊月' ``` ## API Details ### toChinese(number, locale?) - `number`: Number to convert - `locale`: 'zh-TW' | 'zh-CN' (Default: 'zh-TW') - Returns: String ### toChineseWithUnits(number, locale?) - `number`: Number to convert - `locale`: 'zh-TW' | 'zh-CN' (Default: 'zh-TW') - Returns: String ### toChineseApproximate(number, options?) - `number`: Number to convert - `options`: - `locale`: 'zh-TW' | 'zh-CN' (Default: 'zh-TW') - `precision`: number (Default: 1) - Returns: String ### toNumber(chinese) - `chinese`: Chinese numeral string - Returns: Number ### toUpperCase(input, locale?) - `input`: String to convert - `locale`: 'zh-TW' | 'zh-CN' (Default: 'zh-TW') - Returns: String ### toChineseMonth(month, options?) - `month`: Number (1-12) - `options`: - `locale`: 'zh-TW' | 'zh-CN' (Default: 'zh-TW') - `format`: 'traditional' | 'simple' (Default: 'simple') - Returns: String ## Notes - Default locale is zh-TW (Traditional Chinese) - Maximum supported unit for toChineseWithUnits is 載/载 (10^44) - toNumber does not support conversion of numbers with units - toChineseApproximate supports automatic unit selection for large numbers [npm-url]: https://www.npmjs.com/package/chinese-number-format [npm-version-image]: https://img.shields.io/npm/v/chinese-number-format.svg?style=flat