---
title: "Zaokrúhľovanie a pomocné triedy — Money for Laravel | Roundly"
description: "Osem natívnych režimov zaokrúhľovania, presné hodnoty Ratio a Percentage, pomocník MinorUnits a RoundingModes pre vašu konfiguráciu."
url: https://roundly-consulting.com/sk/open-source/navody/money-for-laravel/zaokruhlovanie
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Money for Laravel](https://roundly-consulting.com/sk/open-source/navody/money-for-laravel.md)

# Zaokrúhľovanie a pomocné triedy

Všetko zaokrúhľovanie používa natívny enum \\RoundingMode z PHP 8.4 — ten istý, ktorý prijíma round() aj bcround(). Hodnotové objekty majú ako konštantu predvolený HalfAwayFromZero a konfiguráciu nečítajú; služby čítajú money.rounding (formátovač, avgMoney) a money.exchange.rounding (prevody).

| RoundingMode | Hodnota v konfigurácii | 2.5 | \-2.5 | 1.6 | \-1.1 |
| --- | --- | --- | --- | --- | --- |
| `HalfAwayFromZero` | `half_away_from_zero` | 3 | \-3 | 2 | \-1 |
| `HalfTowardsZero` | `half_towards_zero` | 2 | \-2 | 2 | \-1 |
| `HalfEven` | `half_even` | 2 | \-2 | 2 | \-1 |
| `HalfOdd` | `half_odd` | 3 | \-3 | 2 | \-1 |
| `TowardsZero` | `towards_zero` | 2 | \-2 | 1 | \-1 |
| `AwayFromZero` | `away_from_zero` | 3 | \-3 | 2 | \-2 |
| `PositiveInfinity` | `positive_infinity` | 3 | \-2 | 2 | \-1 |
| `NegativeInfinity` | `negative_infinity` | 2 | \-3 | 1 | \-2 |

```php
use RoundlyConsulting\Money\Percentage;
use RoundlyConsulting\Money\Ratio;

$ten = Money::ofMajor('10', 'EUR');

$ten->divide(3);                                  // 3.33 EUR (HalfAwayFromZero)
$ten->divide(3, RoundingMode::PositiveInfinity);  // 3.34 EUR
$ten->multiply(Ratio::of(2, 3));                  // 6.67 EUR — exact ratio, one rounding
$ten->percentage(Percentage::fromBasisPoints(850)); // 0.85 EUR (8.5 %)

Ratio::of('1.0854');                // 5427/5000
Ratio::of(1, 3)->toDecimal(4);      // "0.3333"
Ratio::of(1, 3)->toExactDecimal();  // null — does not terminate
Percentage::of('8.5')->basisPoints(); // 850
```

## Ratio a Percentage

Ratio je presný zlomok — skrátený, s kladným menovateľom a členmi do 80 číslic. Percentage je nezáporné desatinné percento s najviac 6 desatinnými miestami (Percentage::of(), fromBasisPoints(), fromRatio()). Oba vstupujú do multiply(), divide() a percentage() bez jediného floatu.

## MinorUnits

Pomocné metódy bez meny pre kredity, body a sumy z SDK poskytovateľov — na vstupe int|string, na výstupe reťazce, škály 0..36:

```php
use RoundlyConsulting\Money\Math\MinorUnits;

MinorUnits::normalize('007');          // "7"
MinorUnits::toDecimal(123450, 2);      // "1234.50"
MinorUnits::fromDecimal('10.5', 2);    // "1050" — excess precision needs a rounding mode
MinorUnits::rescale(123450, 2, 0);     // "1235"
MinorUnits::toInt('6747');             // 6747 — throws AmountOverflow outside int64
```

## Zaokrúhľovanie z vlastnej konfigurácie

RoundingModes prevádza hodnoty z konfigurácie v snake\_case na enum. Nenastavená hodnota (null alebo prázdna) dostane voliteľnú predvolenú hodnotu z tretieho argumentu, inak vyhodí výnimku. Čokoľvek iné — vrátane nejednoznačného half\_up — vyhodí InvalidMoneyConfiguration s názvom kľúča:

```php
use RoundlyConsulting\Money\Support\RoundingModes;

RoundingModes::fromValue(config('shop.rounding'), 'shop.rounding'); // RoundingMode
RoundingModes::fromValue(config('shop.rounding'), 'shop.rounding', RoundingMode::HalfEven); // null or blank → HalfEven
RoundingModes::fromConfig('money.rounding');                        // RoundingMode::HalfAwayFromZero
RoundingModes::toValue(RoundingMode::HalfEven);                     // "half_even"
```

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/money-for-laravel.md)
