cse/helpers-math-converter

A mathematics helpers, providing functionality for numbers converter.

1.0.1 2019-04-28 05:19 UTC

This package is auto-updated.

Last update: 2024-10-29 05:28:57 UTC


README

English | Русский

MATH CONVERTER CSE HELPERS

Travis (.org) Codecov Scrutinizer code quality

Packagist Minimum PHP Version Packagist GitHub repo size

A mathematics helpers, providing functionality for numbers converter.

Project repository: https://github.com/cs-eliseev/helpers-math-converter

DEMO

$mb = MathConverter::toMb('300K');
$sub = bcsub(
    MathConverter::roundDecimal($mb, 4),    // 0.293
    MathConverter::cutDecimal($mb, 4),      // 0.2929
    4
);
// 0.0001
MathConverter::binToHex($sub);
// 302e30303031

Introduction

CSE HELPERS is a collection of several libraries with simple functions written in PHP for people.

Despite using PHP as the main programming language for the Internet, its functions are not enough. MATH CONVERTER CSE HELPERS providing functionality for numbers converter.

CSE HELPERS was created for the rapid development of web applications.

CSE Helpers project:

Below you will find some information on how to init library and perform common commands.

Install

You can find the most recent version of this project here.

Composer

Execute the following command to get the latest version of the package:

composer require cse/helpers-math-converter

Or file composer.json should include the following contents:

{
    "require": {
        "cse/helpers-math-converter": "*"
    }
}

Git

Clone this repository locally:

git clone https://github.com/cs-eliseev/helpers-math-converter.git

Download

Download the latest release here.

Usage

The class consists of static methods that are conveniently used in any project. See example examples-math-converter.php.

Convert HEX TO BINARY

Example:

MathConverter::hexToBin('48454c4c4f');
// HELLO

Convert BINARY TO HEX

Example:

MathConverter::binToHex('HELLO');
// 48454c4c4f

Convert MEGABYTES TO BYTES

Example:

MathConverter::mbToBytes(1);
// 1048576

Convert BYTES TO MEGABYTES

Example:

MathConverter::bytesToMb(1048576);
// 1

Change decimal:

MathConverter::bytesToMb(1000000, 4);
// 0.9537

Convert GIGABYTES TO BYTES

Example:

MathConverter::gbToBytes(1);
// 1073741824

Convert BYTES TO GIGABYTES

Example:

MathConverter::bytesToGb(1073741824);
// 1

Change decimal:

MathConverter::bytesToGb(1000000000, 4);
// 0.9313

Convert GIGABYTES TO MEGABYTES

Example:

MathConverter::gbToMb(1);
// 1024

Convert MEGABYTES TO GIGABYTES

Example:

MathConverter::mbToGb(1024);
// 1

Change decimal:

MathConverter::mbToGb(1000, 4);
// 0.9766

Convert TO MEGABYTES

Example:

MathConverter::toMb('1M');
// 1

Petabyte to megabyte:

MathConverter::toMb('0.001P');
// 1073741.824

Terabyte to megabyte:

MathConverter::toMb('0.1T');
// 104857.6.824

Gigabyte to megabyte:

MathConverter::toMb('1G');
// 1024

Kilobyte to megabyte:

MathConverter::toMb('1000K');
// 0.9765625

Byte to megabyte:

MathConverter::toMb('1000000B');
// 0.95367431640625

CUT DECIMAL

Example:

MathConverter::cutDecimal(11.726);
// 11.72

Change decimal:

MathConverter::cutDecimal('-67.099', 1);
// -67

ROUND DECIMAL

Example:

MathConverter::roundDecimal(11.726);
// 11.73

Change decimal:

MathConverter::roundDecimal('-67.099', 0);
// -67

Testing & Code Coverage

PHPUnit is used for unit testing. Unit tests ensure that class and methods does exactly what it is meant to do.

General PHPUnit documentation can be found at https://phpunit.de/documentation.html.

To run the PHPUnit unit tests, execute:

phpunit PATH/TO/PROJECT/tests/

If you want code coverage reports, use the following:

phpunit --coverage-html ./report PATH/TO/PROJECT/tests/

Used PHPUnit default config:

phpunit --configuration PATH/TO/PROJECT/phpunit.xml

Donating

You can support this project here. You can also help out by contributing to the project, or reporting bugs. Even voicing your suggestions for features is great. Anything to help is much appreciated.

License

The MATH CONVERTER CSE HELPERS is open-source PHP library licensed under the MIT license. Please see License File for more information.

GitHub @cs-eliseev