简体   繁体   English

我想使用 JavaScript 格式化数字

[英]I want to format numbers using JavaScript

I want to format numbers using JavaScript.我想使用 JavaScript 格式化数字。

For example:
input n < 1000
n=1 => one
n=2 => two 
n=3 => three

You can use a library to do that called number-to-words您可以使用库来执行此操作,称为number-to-words

import { toWords } from 'number-to-words';


console.log(toWords(13)); // => “thirteen”
 
// Decimal numbers:
console.log(toWords(1.2))
// Integer Numbers:
console.log(toWords(1))// => “one”

Live example: https://stackblitz.com/edit/js-4rj4iw?file=index.js现场示例: https://stackblitz.com/edit/js-4rj4iw?file=index.js

If you prefer it without a Libary, you can do something like:如果您更喜欢没有库,您可以执行以下操作:

var num = "zero one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen".split(" ");
var tens = "twenty thirty forty fifty sixty seventy eighty ninety".split(" ");

function number2words(n){
    if (n < 20) return num[n];
    var digit = n%10;
    if (n < 100) return tens[~~(n/10)-2] + (digit? "-" + num[digit]: "");
    if (n < 1000) return num[~~(n/100)] +" hundred" + (n%100 == 0? "": " and " + number2words(n%100));
    return number2words(~~(n/1000)) + " thousand" + (n%1000 != 0? " " + number2words(n%1000): "");
}

console.log(number2words(12))

(found here: Transform numbers to words in lakh / crore system ) (在这里找到: 将数字转换为十万/千万系统中的单词

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM