<?php
declare (strict_types=1);

namespace app\service\util;

use app\service\ConfigService;
use function GuzzleHttp\Psr7\str;

/**
 * @author canny
 * @date 2023/10/20 15:28
 **/
class PriceCalculatorService
{
    public static function add($a, $b, $scale = 2): string
    {
        return bcadd((string)$a, (string)$b, $scale); // 保留两位小数
    }

    public static function subtract($a, $b, $scale = 2): string
    {
        return bcsub((string)$a, (string)$b, $scale);
    }

    public static function multiply($a, $b, $scale = 2): string
    {
        return bcmul((string)$a, (string)$b, $scale);
    }

    public static function divide($a, $b, $scale = 2): ?string
    {
        if (bccomp((string)$b, '0', 2) === 0) {
            throw new \Exception('不允许除以零');
        }
        return bcdiv((string)$a, (string)$b, $scale);
    }
}