Coder Social home page Coder Social logo

chentsulin / chinese-numbers-converter.js Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anton-bot/chinese-numbers-converter.js

0.0 3.0 1.0 51 KB

Converts Chinese numbers into arabic `Number`, such as 兩百四十五 into 245.

License: The Unlicense

JavaScript 100.00%

chinese-numbers-converter.js's Introduction

chinese-numbers-converter.js

Small library that converts Chinese numbers into an Arabic Number, for example 兩百四十五 into 245.

Language support

Supports Traditional, Simplified, Financial numbers and some dialects. Only integers are supported, except the limited support for Arabic decimal + Chinese number, like "3.5萬". The largest supported character is 億/亿.

Usage examples

The ChineseNumber class contains these methods:

  • toInteger() - converts a Chinese or mixed number into Arabic and returns a JavaScript Number type.
  • toArabicString(minChars) - translates the entire string (possibly with multiple numbers in it) and returns the same string, but with Arabic numbers. The optional parameter minChars is the minimum number of characters that will be translated. For example, you can set it to 2 to avoid translating 九龍 into 9龍.
  • isNumberOrSpace() - checks whether the character is part of a number (true) or unrelated text (false).
new ChineseNumber('兩百四十五').toInteger(); // 245 - Normal number
new ChineseNumber('345 萬').toInteger(); // 3,450,000 - Mixed Arabic and Chinese
new ChineseNumber('3.5萬').toInteger(); // 35,000 - The only supported type of decimals
new ChineseNumber(' 二〇一二年').toInteger(); // 2012 - Phone, year etc: without the words "thousand, hundred, ten"
new ChineseNumber('卅六').toInteger(); // 36 - Cantonese slang
new ChineseNumber('***貳佰零伍元***').toInteger(); // 205 - finance numbers 
new ChineseNumber('1000 and one').toInteger(); // 1000 - ignore non-Chinese words

Possible unexpected results

new ChineseNumber(' 二百 or 兩百').toInteger(); // 400 - the toInteger() method only parses one number at once. Use toArabicString() instead.
new ChineseNumber('九龍').toArabicString(); // 9龍 - use the minChars parameter to avoid this

Availability

  • Standalone JS class - chinese-numbers.js
  • NPM package - chinese-numbers-converter

chinese-numbers-converter.js's People

Contributors

anton-bot avatar

Watchers

James Cloos avatar C. T. Lin avatar  avatar

Forkers

aidan126

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.