Awesome
Persian Wordifier converts numbers to words. for example you can use this:
var a = 235000;
var b = wordifyfa(a);
console.log(b); // دویست و سی و پنج هزار
var c = wordifyRials(a); // دویست و سی و پنج هزار ریال
var d = wordifyRialsInTomans(a); // بیست و سه هزار و پانصد تومان
var e = 235736;
var f = wordifyRialsInTomans(e); // بیست و سه هزار و پانصد و هفتاد و سه تومان و شش ریال
var g = wordifyMomentApprox(new Date(2022,4,4,10,20,0)); // هفت ساعت پیش
var h = wordifyMomentApprox(new Date(2022,4,4,10,20,0), new Date(2022,4,4,10,21,0), "قبل","بعد"); // یک دقیقه بعد
var i = wordifyMomentApprox("2022-05-04 10:20:00"); // هفت ساعت پیش
var j = momentApprox("2022-05-04 10:20:00"); // 7 ساعت پیش
var k = wordifyMomentPrecise("2022-05-04 10:20:00"); // هفت ساعت و پنج دقیقه و بیست ثانیه پیش
var l = momentPrecise("2022-05-04 10:20:00"); // 7 ساعت و 5 دقیقه و 20 ثانیه پیش
Warning! in javascript, month starts from zero so new Date(2022,4,4,10,20,0) means month 5 (May)
update (2022-07-14)
- precise time calculation added
update (2022-05-15)
- approximate time calculation added
update (2020-05-15)
- project source reimplemented in typescript
update (2020-04-18)
- npm package created (npm i wordifyfa)
update (2020-03-11)
- non english digits support (arabic/persian)
var a = '۱۲۰۳۴۵۱۰۲';
var b = wordifyfa(a);
console.log(b); // یکصد و بیست میلیون و سیصد و چهل و پنج هزار و صد و یکصد و دو
update (2019-09-11)
- string and thousands separated numbers now supported
var a = '120,345,102';
var b = wordifyfa(a);
console.log(b); // یکصد و بیست میلیون و سیصد و چهل و پنج هزار و صد و یکصد و دو
installation:
1- add this line of code in your html.
<script src="wordifyfa.js"></script>
or if you are using Node.js
npm i wordifyfa
var wf = require('wordifyfa.js');
2- use the code.
in javascript:
var a = 93390;
var b = wordifyfa(a); // نود و سه هزار و سیصد و نود
in Node.js:
var a = 93390;
var b = wf.wordifyfa(a); // نود و سه هزار و سیصد و نود
following examples are in javascript. if you want use it in Node.js, you must change it as same as previous sample.
functions:
1 converts number to words
wordifyfa(number)
wordifyfa(43); // چهل و سه
or in Node.js :
var a = require('./wordifyfa.js');
a.wordifyfa(number);
2 converts number to words with Rial sign
wordifyRials(number)
wordifyRials(400); // چهارصد ریال
or in Node :
var a = require('./wordifyfa.js');
a.worifyfaRials(number);
3 converts number that is in Rials to Tomans and wordifies it
wordifyRialsInTomans(number)
wordifyRialsInTomans(5000); // پانصد تومان
or in Node :
var a = require('./wordifyfa.js');
a.wordifyRialsInTomans(number);
4 supports converting persian and arabic digits
wordifyfa('۱۲۰۰۰۰')
5 convert dates to approximate time in words
wordifyMomentApprox(date,[base date=current time],[suffix if date is before base date='پیش'], [suffix if date is after base date = 'بعد']);
// date and base date can be string or date object
// base date and suffixes are optional
6 convert dates to approximate time in digits
momentApprox(date,[base date=current time],[suffix if date is before base date='پیش'], [suffix if date is after base date = 'بعد']);
// date and base date can be string or date object
// base date and suffixes are optional
7 convert dates to precise time difference (year/month/week/day/hour/minute/second) in words
wordifyMomentPrecise(date,[base date=current time],[suffix if date is before base date='پیش'], [suffix if date is after base date = 'بعد']);
// date and base date can be string or date object
// base date and suffixes are optional
8 convert dates to precise time difference (year/month/week/day/hour/minute/second) in digits
momentPrecise(date,[base date=current time],[suffix if date is before base date='پیش'], [suffix if date is after base date = 'بعد']);
// date and base date can be string or date object
// base date and suffixes are optional
more info:
this code now supports max to 999,999,999,999,999. is it sufficient?