2021-11-18 04:24:30 +00:00
|
|
|
|
<?php
|
2022-12-14 16:19:55 +00:00
|
|
|
|
|
2021-11-18 04:24:30 +00:00
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
|
|
|
|
*
|
|
|
|
|
* This code is licensed under MIT.
|
|
|
|
|
* Этот код распространяется по лицензии MIT.
|
|
|
|
|
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
namespace AtolOnline;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Класс с функциями-хелперами
|
|
|
|
|
*/
|
|
|
|
|
final class Helpers
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Конвертирует копейки в рубли, оставляя только 2 знака после запятой
|
|
|
|
|
*
|
2021-11-27 16:55:34 +00:00
|
|
|
|
* @param float|null $kopeks Копейки
|
2021-11-18 04:24:30 +00:00
|
|
|
|
* @return float Рубли
|
|
|
|
|
*/
|
2021-11-27 16:55:34 +00:00
|
|
|
|
public static function toRub(?float $kopeks): float
|
2021-11-18 04:24:30 +00:00
|
|
|
|
{
|
2021-11-27 16:55:34 +00:00
|
|
|
|
return round(abs((float)$kopeks) / 100, 2);
|
2021-11-18 04:24:30 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Конвертирует рубли в копейки, учитывая только 2 знака после запятой
|
|
|
|
|
*
|
|
|
|
|
* @param float|null $rubles Рубли
|
|
|
|
|
* @return int Копейки
|
|
|
|
|
*/
|
2021-11-27 16:55:34 +00:00
|
|
|
|
public static function toKop(?float $rubles): int
|
2021-11-18 04:24:30 +00:00
|
|
|
|
{
|
|
|
|
|
return (int)round(abs((float)$rubles) * 100, 2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Генерирует случайную строку указанной длины
|
|
|
|
|
*
|
2021-11-23 17:30:54 +00:00
|
|
|
|
* @param int $length Длина, по умолчанию 8
|
2021-11-18 04:24:30 +00:00
|
|
|
|
* @param bool $with_digits Включать ли цифры
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
|
|
|
|
public static function randomStr(int $length = 8, bool $with_digits = true): string
|
|
|
|
|
{
|
|
|
|
|
$alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' . ($with_digits ? '0123456789' : '');
|
|
|
|
|
$result = '';
|
|
|
|
|
for ($i = 0; $i < abs($length); $i++) {
|
|
|
|
|
$result .= $alphabet[mt_rand(0, strlen($alphabet) - 1)];
|
|
|
|
|
}
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
2021-11-23 17:30:54 +00:00
|
|
|
|
}
|