Package Exports
- brojevi-u-tekst
 
Readme
Brojevi u tekst
A lightweight, zero-dependency TypeScript library for converting numbers to Serbian words.
Handles Serbian grammatical cases, gender agreement, and plural forms correctly.
Installation
npm install brojevi-u-tekstUsage
import brojeviUTekst from 'brojevi-u-tekst';
brojeviUTekst(12345);
// "dvanaest hiljada trista četrdeset pet"
brojeviUTekst(21000);
// "dvadeset jedna hiljada"
brojeviUTekst(-99);
// "minus devedeset devet"Examples
| Input | Output | 
|---|---|
0 | 
nula | 
19 | 
devetnaest | 
-42 | 
minus četrdeset dva | 
100 | 
sto | 
400 | 
četiristo | 
1000 | 
hiljadu | 
2000 | 
dve hiljade | 
5000 | 
pet hiljada | 
21000 | 
dvadeset jedna hiljada | 
123456 | 
sto dvadeset tri hiljade četiristo pedeset šest | 
1000000 | 
jedan milion | 
2000000 | 
dva miliona | 
11000000 | 
jedanaest miliona | 
1000000000 | 
jedna milijarda | 
2000000000 | 
dve milijarde | 
1000000000000 | 
jedan bilion | 
1234567890 | 
jedna milijarda dvesta trideset četiri miliona petsto šezdeset sedam hiljada osamsto devedeset | 
Infinity | 
Neispravan unos | 
NaN | 
Neispravan unos | 
> MAX_SAFE | 
Broj je prevelik za preciznu konverziju. | 
API
brojeviUTekst(num: number): string
Converts a number to its Serbian word representation.
Parameters:
num(number) - The number to convert. Supports positive and negative integers up toNumber.MAX_SAFE_INTEGER(9,007,199,254,740,991).nullandundefinedare treated as0.
Returns:
- (string) - The Serbian word representation
- Returns 
"nula"for 0, null, or undefined - Returns 
"Neispravan unos"for non-finite numbers (Infinity, NaN) or invalid types - Returns 
"Broj je prevelik za preciznu konverziju."for numbers exceeding MAX_SAFE_INTEGER 
 - Returns 
 
Features
- ✅ Correct Serbian grammar for all denominations:
- hiljadu/hiljade/hiljada (thousands)
 - milion/miliona (millions)
 - milijarda/milijarde/milijardi (billions)
 - bilion/biliona (trillions)
 
 - ✅ Gender agreement for feminine nouns (jedan→jedna, dva→dve for thousands and billions)
 - ✅ Support for numbers up to 
Number.MAX_SAFE_INTEGER(~9 quadrillion) - ✅ Negative number support (prepends "minus")
 - ✅ Proper handling of edge cases (zero chunks, teens, invalid inputs)
 - ✅ Zero dependencies
 - ✅ Fully typed (TypeScript)
 
License
MIT