stevila-z-besedo

Zapis števil, datumov in cifer z besedo.

Usage no npm install needed!

<script type="module">
  import stevilaZBesedo from 'https://cdn.skypack.dev/stevila-z-besedo';
</script>

README

Samodejni zapis števil z besedo.

Node.js module to convert numbers/dates/digits in to text (Slovene language).

Node.js modul za pretvorbo števil/datumov/cifer v tekst.

Povezava do spletnega API-ja, ki uporablja ta modul: stevilazbesedo.sebenik.com

Zapis

Celih števil: 3462543 → 'tri milijone štiristo dvainšestdeset tisoč petsto triinštirideset'

Decimalnih števil: 2,108 → 'dve celi sto osem'

Negativnih števil: -1000 → 'minus tisoč'

Znanstvenih števil: 1,02e2 → 'sto dve'

Datumov: 1.4.2000 → 'prvi četrti dva tisoč'

Cifer: 46492 → 'štiri šest štiri devet dve'

Install

npm install stevila-z-besedo

Uporaba

var szb = require("stevila-z-besedo")
var converter = new szb(options);
var rezultat = converter.convert(data);

options

  • type: ("number", "date", "digit"). Izberi tip pretvornika.
  • decimalniSimbolPika: poljuben parameter (true, false). V Sloveniji za decimalno ločilo uporabljamo decimalno vejico ',' (privzeto). Če želite z besedo zapisati števila, ki za decimalni simbol uporabljajo decimalno piko '.', parametru pripišite vrednost true.
  • brezPresledkov: poljuben parameter (true, false). Z besedo zapisana števila upoševajo pravila slovenskega knjižnjega jezika, ki med drugim narekujejo tudi, kako ločujemo zapisana števila s presledki. Če želite števila zapisati brez presledkov, parametru pripišite vrednost true.

data

Število/datum oz. vektor(array) števil/datumov, ki jih želimo zapisati z besedo.

  • Veljavne oblike datumov
vDD/MM/LLLL D/M/LLLL DD/MM/ D/M/ DD/ D/
DD.MM.LLLL D.M.LLLL DD.MM. D.M. DD. D.
DD-MM-LLLL D-M-LLLL DD-MM- D-M- DD- D-
  • Zapis neobstoječega datuma (npr. 30.02.2000) ali datuma pred letom 1600 in po letu 9999 ni mogoč.
  • min/max število: "±999999999999999999999999999999999999999999999999999999999999999999,999999999999999999999999999999999999999999999999999999999999999999"

rezultat

Vektor(array) besed pretvorjenih števil/datumov v enakem vrstnem redu kot so bili podani.

Primer

števila

var szb = require("stevila-z-besedo");
var numberConverter = new szb({
  "type": "number",
  "decimalniSimbolPika": true
});
var stevila = [1, -1000, 2.12e7, 0.31];
var zBesedo = numberConverter.convert(stevila);

console.log(zBesedo);
// [ 'ena',
//   'minus tisoč',
//   'enaindvajset milijonov dvesto tisoč',
//   'nič cela enaintrideset stotink' ]

datumi

var szb = require("stevila-z-besedo");
var dateConverter = new szb({
  "type": "date"
});
var datumi = ["1.1.2000", "12/7/", "12.", "03-11-", "31.2."];
var zBesedo = dateConverter.convert(datumi);

console.log(zBesedo);
// [ 'prvi prvi dva tisoč',
//   'dvanajsti sedmi',
//   'dvanajsti',
//   'tretji enajsti',
//   '31.2. is not a valid date form.' ]

cifre

var szb = require("stevila-z-besedo");
var digitConverter = new szb({
  "type": "digit"
});
var stevila = [12345, "-7,81"];
var zBesedo = digitConverter.convert(stevila);

console.log(zBesedo);
// [ 'ena dve tri štiri pet',
//   'minus sedem celih osem ena' ]

Licenca

Avtor

Žiga Šebenik ziga@sebenik.com