CloudCastle CurrencyConverter

IntegerMath
in package

FinalYes

Целочисленная арифметика без float: переполнение ловится, деление округляется явно.

Table of Contents

Properties

$powers  : array<int, int>

Methods

absolute()  : int
add()  : int
divide()  : int
Деление с явным режимом округления. Ноль в знаменателе запрещён.
gcd()  : int
Наибольший общий делитель. Ноль допустим в одном из аргументов.
multiply()  : int
negate()  : int
powerOfTen()  : int
Степень десяти от 0 до 18 включительно.
isNegative()  : bool

Properties

$powers

private array<int, int> $powers = [1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000, 10000000000, 100000000000, 1000000000000, 10000000000000, 100000000000000, 1000000000000000, 10000000000000000, 100000000000000000, 1000000000000000000]

Methods

divide()

Деление с явным режимом округления. Ноль в знаменателе запрещён.

public divide(int $numerator, int $denominator, RoundingMode $mode) : int
Parameters
$numerator : int
$denominator : int
$mode : RoundingMode
Tags
throws
InvalidAmountException
Return values
int

gcd()

Наибольший общий делитель. Ноль допустим в одном из аргументов.

public gcd(int $left, int $right) : int
Parameters
$left : int
$right : int
Return values
int

powerOfTen()

Степень десяти от 0 до 18 включительно.

public powerOfTen(int $scale) : int
Parameters
$scale : int
Tags
throws
InvalidAmountException
Return values
int

isNegative()

private isNegative(int $value) : bool
Parameters
$value : int
Return values
bool
On this page

Search results