Преобразуване на числа в думи с помощта на JavaScript

click fraud protection

Много програмиране включва изчисления с числа и можете лесно да форматирате числа за показване, като добавите запетаи, десетични знаци, отрицателни знаци и други подходящи символи в зависимост от вида на числото.

Но не винаги представяте резултатите си като част от математическо уравнение. Мрежата за общия потребител е повече за думи, отколкото за числа, така че понякога число, показано като число, не е подходящо.

В този случай се нуждаете от еквивалента на числото с думи, а не с цифри. Тук можете да се сблъскате с трудности. Как да преобразувате числовите резултати от изчисленията си, когато имате нужда от числото, показано с думи?

Ако искате да можете да извършите тези преобразувания на вашия сайт, ще ви трябва JavaScript код, който може да извърши преобразуването вместо вас. Най-простият начин да направите това е да използвате код По-долу; просто изберете кода и го копирайте във файл, наречен toword.js.

// Преобразуване на числа в думи
// авторски права 25 юли 2006 г., от Стивън Чапман http://javascript.about.com

instagram viewer

// е разрешено използването на този Javascript на вашата уеб страница
// при условие че целият код (включително това известие за авторски права) е
// използва се точно както е показано (можете да промените системата за номериране, ако желаете)

// Американска система за номериране
var th = ['', 'хиляда', 'милион', 'милиард', 'трилион'];
// декомментирайте този ред за английска система с номера
// var th = ['', 'хиляда', 'милион', 'милиард', 'милиард'];

var dg = ['нула', 'един', 'два', 'три', 'четири',
"Пет", "шест", "седем", "осем", "девет"]; var tn =
['десет', 'единадесет', 'дванадесет', 'тринадесет', 'четиринадесет', 'петнадесет', 'шестнадесет',
"Седемнадесет", "осемнадесет", "деветнадесет"]; var tw = ['двадесет', 'тридесет', 'четиридесет', 'петдесет',
"Шестдесет", "седемдесет", "осемдесет", "деветдесет"]; функция toWords (s) {s = s.toString (); s =
s.replace (/ [[,] / g, ''); ако (s! = parseFloat (s)) се върне „not a number“; var x =
s.indexOf ( '.'); ако (x == -1) x = s.length; ако (x> 15) върнете „твърде голям“; var n =
s.split ( ''); var str = ''; var sk = 0; за (var i = 0; i ((x-i)% 3 == 2) {if (n [i] == '1') {str + = tn [Номер (n [i + 1])] + ''; и ++; SK = 1;}
иначе ако (n [i]! = 0) {str + = tw [n [i] -2] + ''; sk = 1;}} if if (n [i]! = 0) {str + =
dg [n [i]] + ''; if ((x-i)% 3 == 0) str + = 'сто'; sk = 1;} if ((x-i)% 3 == 1) {if (sk)
str + = th [(x-i-1) / 3] + ''; sk = 0;}} if (x! = s.length) {var y = s.length; str + =
'точка '; за (var i = x + 1; istr.replace (/ \ s + / g, '');}

Последната стъпка е да извикате скрипта, за да извършите преобразуването в думи за вас. За да получите число, преобразувано в думи, просто трябва да се обадите на функцията, която го предава, числото, което искате да преобразувате и съответните думи ще бъдат върнати.

Обърнете внимание, че тази функция може да преобразува числа, големи колкото 999,999,999,999,999, в думи и с толкова десетични знаци, колкото искате. Ако се опитате да конвертирате a номер по-голям от това, той ще се върне "твърде голям".

Числата, запетаите, интервалите и един период за десетичната запетая са единствените приемливи символи, които могат да бъдат използвани за преобразуваното число. Ако съдържа нещо извън тези знаци, то ще върне „не число“.

instagram story viewer