zh-to-number
TypeScript icon, indicating that this package has built-in type declarations

0.0.1 • Public • Published

Zh-to-number

NPM version Downloads License GitHub stars

中文数字转阿拉伯数字

Highlights

  • 📦 零依赖:无需依赖其他库或框架。
  • ⚙️ 支持 ESM、CJS 和 IIFE 引入:可根据项目需求选择合适的引入方式。
  • 📝 支持简体中文和繁体中文的大小写数字:满足不同语境下的需求。
  • 🔢 大数支持:显示大数无精度问题,保持精确性。
  • 🔧 可自定义配置:根据个人需求调整库的行为和设置。

Install

npm install zh-to-number

Usage

为了避免大数精度丢失问题,阿拉伯数字作为字符串返回

import { zhToNumber } from "zh-to-number";

zhToNumber("你好");                                         // NaN
zhToNumber("零");                                           // "0"
zhToNumber("零点一");                                       // "0.1"
zhToNumber("一千万零一");                                   // "10000001"
zhToNumber("一千二百三十四万五千六百七十八");                   // "12345678"
zhToNumber("一十");                                        // "10"
zhToNumber("十");                                         // "10"
zhToNumber("壹仟万零壹", { language: "zh-CN-uppercase" }); // "10000001"

CDN

你可以借助 script 标签直接通过 CDN 来使用:

<script src="https://unpkg.com/zh-to-number/dist/zh-to-number.global.js"></script>
<script>console.log(__ZH_TO_NUMBER__.zhToNumber("一十"));</script>

这里我们使用了 unpkg,但你也可以使用任何提供 npm 包服务的 CDN,例如 jsdelivrcdnjs。当然,你也可以下载此文件并自行提供服务。

自定义数级

默认最大支持到 10^16,即千万亿,最小支持到 10^-16,如果使用万万和亿亿则没有限制。如果超出数级则会返回 NaN,不过可以自定义数级。

import { zhToNumber, RESOURCES } from "zh-to-number";

const options = {
	language: "zh-CN-lowercase" as const,
	magnitudeList: [...RESOURCES["zh-CN-lowercase"].magnitudeList, "京"],
};
zhToNumber("一京", options) // "10000000000000000"

API

zhToNumber(inputNumberString, options?)

inputNumberString

Type: string

需要转换的中文数字,即使是超大数字也无精度丢失问题

options

language

Type: "zh-CN-lowercase" | "zh-CN-uppercase" | "zh-TW-lowercase" | "zh-TW-uppercase" | "zh-HK-lowercase" | "zh-HK-uppercase"
Default: "zh-CN-lowercase"

不同的中文数字转为阿拉伯数字,HK 和 TW 没有区别都表示繁体中文。

thousandsSeparator

Type: boolean
Default: false

添加千分分隔符。

digitsList

Type: string[]
Default: ["", "十", "百", "千"]

对应语言的数位列表。

magnitudeList

Type: string[]
Default: ["", "万", "亿", "兆"]

对应语言的数级列表。

baseNumerals

Type: string[]
Default: ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"]

对应语言从零到九的中文数字列表。

minusSign

Type: string
Default:

对应语言「负」的写法。

positive

Type: string
Default:

对应语言「正」的写法。

decimalPoint

Type: string
Default:

对应语言「点」的写法。

Related

License

MIT License © 2023-Present Condor Hero

Package Sidebar

Install

npm i zh-to-number

Weekly Downloads

12

Version

0.0.1

License

MIT

Unpacked Size

38 kB

Total Files

8

Last publish

Collaborators

  • condorhero