AzNum2Words - Azərbaycan dilində ədədlərin sözlə yazılışı(və ya təsviri) üçün nəzərdə tutulan Go dilində yazılmış, açıq qaynaqlı kitabxanadır.
Azərbaycan dilində ədədlərin(və ya rəqəmlərin) sözlə yazılış təsvirinə ehtiyac yarandığı hallar olur. Proqram səviyyəsində bu kimi ehtiyacları qarşılamaq üçün vahid bir kitabxananın olması, proqramçıların işini xeyli asanlaşdırır. Kitabxana tam və ya kəsr ədədlərin Azərbaycan dilində sözlə yazılışı(və ya təsviri) üçün nəzərdə tutulub.
Həm library, həm də command-line tool kimi istifadə edilə bilər. Bundan əlavə web-app kimi də istifadə edərək mövcud sisteminə integrasiya etmək mümkündür.
Bu kitabxana vasitəsilə - müsbət, mənfi tam və ya kəsr ədədlərin sözlə yazılış təsvirini əldə etmək mümkündür.
Azərbaycan dilində ədədlərin təsvirinə ehtiyac duyulan hallarda istifadə oluna bilər.
- Statistik hesabatların tərtib olunması.
- Maliyyə əməliyyatları zamanı məbləğin sözlə təsvir olunması.
- Hüquqi və maliyyə sənədləri tez-tez çaşqınlığın qarşısını almaq və dəqiqliyi təmin etmək üçün rəqəmlərin ifadə sözünün istifadəsini tələb edir.
- Çek yazarkən, dəyişikliklərin və ya saxtakarlığın qarşısını almaq üçün rəqəmsal məbləğə əlavə olaraq məbləğin sözlə ifadəsini də yazmaq adi bir təcrübədir.
- Tam ədədlərin sözlə təsvir olunması
- Kəsr ədədlərin sözlə təsvir olunması
- Müsbət vəya mənfi ədədlərin sözlə təsvir olunması
- Söz ilə təsvir oluna biləcək maksimum tam ədəd: 10^63
- Söz ilə təsvir oluna biləcək minumum kəsr ədəd: (10^-15)
go get github.com/egasimov/aznum2words@latest
package main
import (
"fmt"
"github.com/egasimov/aznum2words"
)
func main() {
// in real use, do not discard errors, rather handle it properly :)
result1, _ := aznum2words.SpellNumber("-95412")
result2, _ := aznum2words.SpellNumber("-2.7021")
result3, _ := aznum2words.SpellNumber("5611113210")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
}
NƏTİCƏ | OUTPUT
mənfi doxsan beş min dörd yüz on iki
mənfi iki tam on mində yeddi min iyirmi bir
beş milyard altı yüz on bir milyon bir yüz on üç min iki yüz on
// installs the binaries into $GOPATH/bin
go install github.com/egasimov/aznum2words/cmd/aznum2words-cli@latest
$ aznum2words-cli -- 12.3
on iki tam onda üç
$ aznum2words-cli -- -12.3
mənfi on iki tam onda üç
// Clone the repository
git clone https://github.com/egasimov/aznum2words.git@latest
$ cd ./cmd/aznum2words-webapp/
$ go run ./aznum2words-webapp.go
curl --location 'http://localhost:8080/api/v1/conversion/to-word' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data '{
"number": "123.45"
}'
Qeyd: open-api-spec contract istifadə edərək online swagger-ui, Postman kimi alətlər ilə REST APİ-ni interaktiv test etmək mümkündür.
go test -coverprofile=coverage.out ./... ; go tool cover -html=coverage.out
go test -bench=. -run=^# -benchmem
Kitabxananın versiyaları Semver yanaşması ilə tənzimlənir.
Kitabxana MIT Lisenziya altında lisenziyalaşdırılmışdır. Ətraflı məlumat üçün LICENSE faylını nəzərdən keçirin.
Proyektə contribute etmək üçün aşağıdakı təlimatları nəzərə ala bilərsiniz.
Testləri olmayan vəya nəzərə alınmayan PRlar qəbul edilməyəcək
- Reponu fork et
- Yeni feature branch yarat (
git checkout -b my-new-feature
) - Dəyişiklikləri commit et (
git commit -am 'Added some feature'
) - Local branchı origin(remote repo) push et (
git push origin my-new-feature
) - Yeni Pull Request yarat
Bu layihəyə aşağıdakı şəxslər töhfə verib: