Претварање бројева у речи помоћу ЈаваСцрипта

Пуно програмирање укључује израчуне с бројевима, а бројеве за приказ можете лако форматирати додавањем зареза, децимала, негативних знакова и других одговарајућих знакова у зависности од врсте броја.

Али не представљате своје резултате увек као део математичке једначине. Веб за опћег корисника је више о речима него о бројевима, тако да понекад број који се приказује као број није прикладан.

У овом случају вам је потребан еквивалент броја у ријечима, а не у бројкама. Овде можете наићи на тешкоће. Како конвертујете нумеричке резултате израчуна када вам је потребан број приказан речима?

Ако желите да будете у могућности да извршите ове конверзије на својој веб локацији, потребан вам је ЈаваСцрипт код који може да изврши конверзију уместо вас. Најједноставнији начин да то учините је коришћење код испод; само одаберите код и копирајте га у датотеку звану товорд.јс.

// Претвори бројеве у речи
// ауторска права 25. јула 2006, аутор Степхен Цхапман http://javascript.about.com
// дата је дозвола за коришћење овог Јавасцрипта на вашој веб страници

instagram viewer

// под условом да је сав код (укључујући ову обавештење о ауторским правима)
// користи се тачно онако како је приказано (можете променити систем нумерације ако желите)

// Амерички систем нумерирања
вар тх = ['', 'хиљаде', 'милион', 'милијарда', 'билион'];
// декоментирај ову линију за енглески систем бројева
// вар тх = ['', 'хиљаде', 'милион', 'милијарда', 'милијарда'];

вар дг = ['нула', 'један', 'два', 'три', 'четири',
„пет“, „шест“, „седам“, „осам“, „девет“]; вар тн =
['десет', 'једанаест', 'дванаест', 'тринаест', 'четрнаест', 'петнаест', 'шеснаест',
'седамнаест', 'осамнаест', 'деветнаест']; вар тв = ['двадесет', 'тридесет', 'четрдесет', 'педесет',
'шездесет', 'седамдесет', 'осамдесет', 'деведесет']; функција тоВордс (с) {с = с.тоСтринг (); с =
с.реплаце (/ [\,] / г, ''); иф (с! = парсеФлоат (с)) врате 'нот нумбер'; вар к =
с.индекОф ('.'); ако је (к == -1) к = дужина; ако (к> 15) вратите 'превелик'; вар н =
с.сплит (''); вар стр = ''; вар ск = 0; за (вар и = 0; и ((к-и)% 3 == 2) {иф (н [и] == '1') {стр + = тн [Број (н [и + 1])] + ''; и ++; ск = 1;}
друго ако (н [и]! = 0) {стр + = тв [н [и] -2] + ''; ск = 1;}} иф иф (н [и]! = 0) {стр + =
дг [н [и]] + ''; иф ((к-и)% 3 == 0) стр + = 'сто'; ск = 1;} иф ((к-и)% 3 == 1) {иф (ск)
стр + = тх [(к-и-1) / 3] + ''; ск = 0;}} иф (к! = с.ленгтх) {вар и = с.ленгтх; стр + =
'тачка '; за (вар и = к + 1; истр.реплаце (/ \ с + / г, '');}

Завршни корак је позвати скрипту да изведе конверзију у речи за вас. Да би се број претворио у речи потребно је само назвати функцију која му преноси број који желите претворити и одговарајуће ријечи ће бити враћене.

Имајте на уму да ова функција може претворити бројеве од 999,999,999,999,999 у речи и са онолико децималних места колико желите. Ако покушате претворити а број веће од тога вратиће се "превелико".

Бројеви, зарези, размаци и једна тачка за децималну тачку су једини прихватљиви знакови који се могу користити за број који се претвара. Ако садржи нешто изнад ових знакова, вратит ће се "не број".

instagram story viewer