Skip to content

Commit

Permalink
fix + composer
Browse files Browse the repository at this point in the history
  • Loading branch information
Konstantin Kutsevalov committed Nov 15, 2017
1 parent 6701362 commit ab6e4ee
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 7 deletions.
25 changes: 21 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,33 @@
# sum2str
# Sum 2 String
Перевод суммы из числа в строку.

Примеры:

```php
Sum::toStr(2546.34); // => "две тысячи пятьсот сорок шесть рублей 34 коп."
use adamasantares\Sum2Str;

Sum:toStr(1500210.50); // => "один миллион пятьсот тысяч двести десять рублей 50 коп."
Sum2Str::toStr(2546.34); // => "две тысячи пятьсот сорок шесть рублей 34 коп."

Sum:toStr(150, false); // => "сто пятьдесят"
Sum2Str::toStr(1500210.50); // => "один миллион пятьсот тысяч двести десять рублей 50 коп."

Sum2Str::toStr(150, false); // => "сто пятьдесят"
```

Если не нужны дополнительные файлы и классы, можно просто скопировать метод и использовать как самостоятельную функцию или встроить его в свой класс, в котом будет использоваться.

Замечания и исправления приветствуются, но не вознаграждаются ;)


## Composer

```
composer require adamasantares/sum2str "0.1.1"
```

or

```
"require": {
"adamasantares/sum2str": "0.1.1"
}
```
9 changes: 6 additions & 3 deletions Sum.php → Sum2Str.php
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
<?php

namespace adamasantares;

/**
* Class Sum
* @author https://github.com/adamasantares
*/
class Sum {
class Sum2Str {

/**
* @param float|int|string $number
Expand All @@ -13,7 +16,7 @@ public static function toStr($number, $asPrice = true)
{
$words = array(
'null' => 'ноль',
0 => '', 1 => 'один', 2 => 'два', 3 => 'три', 4 => 'четыре', 5 => 'пять', 6 => 'шесть', 7 => 'семь',
0 => '', '_0' => '', 1 => 'один', 2 => 'два', 3 => 'три', 4 => 'четыре', 5 => 'пять', 6 => 'шесть', 7 => 'семь',
8 => 'восемь', 9 => 'девять', '_1' => 'одна', '_2' => 'две', '_3' => 'три', '_4' => 'четыре',
'_5' => 'пять', '_6' => 'шесть', '_7' => 'семь', '_8' => 'восемь', '_9' => 'девять',
11 => 'одиннадцать', 12 => 'двенадцать', 13 => 'тринадцать', 14 => 'четырнадцать', 15 => 'пятнадцать',
Expand Down
24 changes: 24 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"name": "adamasantares/sum2str",
"description": "Перевод суммы из числа в строку",
"keywords": ["sum to string", "russian language only"],
"homepage": "https://github.com/adamasantares/sum2str#readme",
"type": "library",
"minimum-stability": "dev",
"prefer-stable" : true,
"license": "MIT",
"authors": [
{
"name": "Konstantin Kutsevalov",
"email": "[email protected]"
}
],
"require": {
"php": ">=7.0.0"
},
"autoload": {
"psr-4": {
"adamasantares\\sum2str\\": ""
}
}
}
3 changes: 3 additions & 0 deletions test/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env php
<?php
require_once(__DIR__ . '/run.php');
21 changes: 21 additions & 0 deletions test/run.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php
/**
* Примитивный тест
*/

require_once __DIR__ . '/../Sum2Str.php';

use adamasantares\Sum2Str;

echo "=== Test of 'sum2str' ===\n";

$t1 = Sum2Str::toStr(2546.34);
echo $t1 . ($t1 == 'две тысячи пятьсот сорок шесть рублей 34 коп.' ? " - OK\n" : " - FAIL\n");

$t2 = Sum2Str::toStr(1500210.50);
echo $t2 . ($t2 == 'один миллион пятьсот тысяч двести десять рублей 50 коп.' ? " - OK\n" : " - FAIL\n");

$t3 = Sum2Str::toStr(150, false); // => "сто пятьдесят"
echo $t3 . ($t3 == 'сто пятьдесят' ? " - OK\n" : " - FAIL\n");

echo "=== Done ===\n";

0 comments on commit ab6e4ee

Please sign in to comment.