PHP - Reais para Units/Nanos e Units/Nanos para Reais

Olá meus Unicórnios! 🦄✨

Os Units e Nanos são uma forma de fracionar um valor, para que ele seja enviado da forma mais precisa possível.

Considerando o valor R$ 12,34, teremos:

  • Units: 13
  • Nanos: 340000000

Os Units são os inteiros de um número.

Os Nanos são os centavos * 10000000.

Para facilitar, iremos criar uma função em PHP:

<?
function reaisParaUnitsENanos($valorReais) 
{
    
    $partes         = explode('.', number_format($valorReais, 2, '.', ''));
    $units          = (int)$partes[0];
    $nanos          = (int)$partes[1] * 10000000;

    return ['units' => $units, 'nanos' => $nanos];

}
function unitsENanosParaReais($units, $nanos) 
{

    $valorReais     = $units + ($nanos * 0.000000001);
    return $valorReais;

}
?>

Ao chamar a função "reaisParaUnitsENanos", iremos passar como parâmetro, o Valor a ser convertido.

A resposta será um objeto com os elementos "units" e "nanos":

{
  "units": 12,
  "nanos": 340000000
}

Ao chamar a função "unitsENanosParaReais", iremos passar como parâmetros, os Units e os Nanos.

A resposta será o valor:

12.34

Por hoje é só, meus unicórnios! 🦄✨

Que a magia do arco-íris continue brilhando em suas vidas! Até mais! 🌈🌟