PHPackages                             lubosdz/number-to-words - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. lubosdz/number-to-words

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

lubosdz/number-to-words
=======================

Number to words conversion - locale specific.

1.0.6(1y ago)52.6k2BSD-3-ClausePHPPHP &gt;=5.5

Since May 22Pushed 1y ago1 watchersCompare

[ Source](https://github.com/lubosdz/number-to-words)[ Packagist](https://packagist.org/packages/lubosdz/number-to-words)[ RSS](/packages/lubosdz-number-to-words/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)DependenciesVersions (8)Used By (0)

Number to words - PHP Converter
===============================

[](#number-to-words---php-converter)

PHP utility for converting arbitrary float or integer number to words, mainly in English, Slovak and Czech. These have custom PHP implementation, which will fix INTL/ICU bugs and allows for output customization. Other languages are supported too, but only using INTL/ICU PHP extension, which might be buggy.

Installation
============

[](#installation)

- via composer:

```
$ composer require "lubosdz/number-to-words" : "~1.0.0"
```

Demo &amp; repo
===============

[](#demo--repo)

- demo: available only for [Slovak language](https://synet.sk/blog/php/330-cislo-na-slovo)
- repo:

Usage
-----

[](#usage)

```
// use either factory ..
use lubosdz\numberToWords\NumberToWords;

// .. or language specific implementation
use lubosdz\numberToWords\NumberToWords_SK;
use lubosdz\numberToWords\NumberToWords_CZ;
use lubosdz\numberToWords\NumberToWords_EN;

// Slovensky / Slovak
NumberToWords::convert(123.45, 'sk'); // jednostodvadsaťtri celé štyridsaťpäť
NumberToWords_SK::convert(123.45); // jednostodvadsaťtri celé štyridsaťpäť
NumberToWords_SK::convertIntl(123.45); // jedna­sto dvasať­tri čiarka štyri päť (ICU returns "dvasať", bug)

// supply number as string - will retain right-sided zeroes on decimal part
NumberToWords_SK::convert(37.40); // tridsaťsedem celé štyri - strip off right-sided zeroes
NumberToWords_SK::convert("37.40"); // tridsaťsedem celé štyridsať - keep right-sided zeroes
NumberToWords_SK::convert("37.400"); // tridsaťsedem celé štyristo - keep right-sided zeroes

// arbitrary decimals word separator
NumberToWords_EN::$txtDecimal = " čiarka ";
NumberToWords_EN::convert(12.30); // dvanásť čiarka tridsať

// with decimals as a fraction - useful in accounting
NumberToWords::$decimalsAsFraction = true;
NumberToWords::convert(123.45, 'sk'); // jednostodvadsaťtri (45/100)

// enforce desired number of decimals
NumberToWords::$numberOfdecimals = 2;
NumberToWords::convert(12.3, 'sk'); // dvanásť celé tridsať

// Česky / Czech:
NumberToWords::convert(123.45, 'cz'); // allowed cz or cs, // sto dvacet tři celá čtyřicet pět
NumberToWords_CZ::convert(123.45); // sto dvacet tři celá čtyřicet pět
NumberToWords_CZ::convertIntl(123.45); // sto dvacet tři celá čtyři pět

// English:
NumberToWords::convert(123.45); // lang code not needed since english is default
NumberToWords_EN::convert(123.45); // one hundred twenty-three point fourty-five
NumberToWords_EN::convertIntl(123.45); // one hundred twenty-three point four five

// arbitrary decimals word separator
NumberToWords_EN::$txtDecimal = " comma ";
NumberToWords_EN::convert(12.30); // twelve comma thirty

// really big number:
NumberToWords_EN::convert(987654321.123);
// nine hundred eighty-seven million, six hundred fifty-four thousand, three hundred twenty-one point one hundred twenty-three

NumberToWords_EN::convertIntl(987654321.123);
// nine hundred eighty-seven million six hundred fifty-four thousand three hundred twenty-one point one two three

// Russian:
NumberToWords::convert(123.45, 'ru'); // сто двадцать три целых сорок пять сотых

// German:
NumberToWords::convert(123.45, 'de'); // ein­hundert­drei­und­zwanzig Komma vier fünf

// French:
NumberToWords::convert(123.45, 'fr'); // cent vingt-trois virgule quatre cinq
```

Changelog
---------

[](#changelog)

1.0.6 - 15.08.2024
------------------

[](#106---15082024)

- support enforcing the number of decimals

1.0.5 - 10.08.2024
------------------

[](#105---10082024)

- make decimals separator word configurable
- clearify documentation on how to keep right-padded zeroes on decimal part
- added tests

1.0.4 - 04.02.2024
------------------

[](#104---04022024)

- Support decimals as a fraction
- Fixed zeroes in decimal part on left side
- added unit tests

1.0.3 - 02.07.2023
------------------

[](#103---02072023)

- Fixed PHP 8.2 compatability

1.0.2 - 12.03.2021
------------------

[](#102---12032021)

- extended support for any language via INTL/ICU extension

1.0.1 - 12.03.2021
------------------

[](#101---12032021)

- added factory class `NumberToWords::convert($num, $lang)`

1.0.0 - 22.05.2020
------------------

[](#100---22052020)

- initial release (SK, EN, CZ)

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~257 days

Recently: every ~313 days

Total

7

Last Release

642d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/840a110decf160a8ea79caafa1b2fd755a2b3761533ecd42ae33ad9fdba56827?d=identicon)[lubosdz](/maintainers/lubosdz)

---

Top Contributors

[![lubosdz](https://avatars.githubusercontent.com/u/282343?v=4)](https://github.com/lubosdz "lubosdz (7 commits)")

---

Tags

convert number to wordsprevod číslo na slovo

### Embed Badge

![Health badge](/badges/lubosdz-number-to-words/health.svg)

```
[![Health](https://phpackages.com/badges/lubosdz-number-to-words/health.svg)](https://phpackages.com/packages/lubosdz-number-to-words)
```

###  Alternatives

[petercoles/multilingual-country-list

Lookup Objects for ISO 3166 Country Names and Codes

149374.6k4](/packages/petercoles-multilingual-country-list)[imanghafoori/smart-realtime-facades

Real-time facades with IDE auto-completion.

33427.0k3](/packages/imanghafoori-smart-realtime-facades)[firegento/fastsimpleimportdemo

Wrapper for Magento2 ImportExport functionality, which imports products and customers from arrays

2942.2k](/packages/firegento-fastsimpleimportdemo)[masterix21/green-pass

EU Green Pass

371.3k](/packages/masterix21-green-pass)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
