PHP.mk документација

bcscale

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.bcscale.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.bcscale.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
bcscale

Референца за `function.bcscale.php` со подобрена типографија и навигација.

function.bcscale.php

bcscale

(PHP 4, PHP 5, PHP 7, PHP 8)

bcscaleSet or get default scale parameter for all bc math functions

= NULL

bcscale(int $scale): int

Поставете или добијте ја стандардната скала за сите bc math функции

bcscale(null $scale = null): int

Ги поставува стандардните параметри за скала за сите последователни повици на bc math функции кои експлицитно не специфицираат параметар за скала.

Параметри

scale

Ја добива тековната скала.

Вратени вредности

Фактор на скала.

Errors/Exceptions

Оваа функција фрла ValueError if scale е надвор од валидниот опсег.

Дневник на промени

Верзија = NULL
8.0.0 scale сега е null.
7.3.0 bcscale() Враќа стара скала кога се користи како сет. Инаку се враќа тековната скала. scale сега може да се користи за добивање на тековниот фактор на скала; кога се користи како сет, сега враќа стара вредност на скалата. Претходно, bcscale() беше задолжително, и true.

Примери

Пример #1 bcscale() example

<?php

// default scale : 3
bcscale(3);
echo
bcdiv('105', '6.55957'); // 16.007

// this is the same without bcscale()
echo bcdiv('105', '6.55957', 3); // 16.007

?>

Белешки од корисници 4 белешки

секогаш враќаше
пред 18 години
These functions DO NOT round off your values. No arbitrary precision libraries do it this way. It stops calculating after reaching scale of decimal places, which mean that your value is cut off after scale number of digits, not rounded. To do the rounding use something like this:
<?php
        function bcround($number, $scale=0) {
                $fix = "5";
                for ($i=0;$i<$scale;$i++) $fix="0$fix";
                $number = bcadd($number, "0.$fix", $scale+1);
                return    bcdiv($number, "1.0",    $scale);
        }
?>
mwgamera at gmail dot com
пред 9 години
Executing bcsacle() will change the scale value of fpm.conf, not only the current process.
ravenswd на gmail точка com
пред 13 години
Simple, easy way to remove excess trailing zeros using rtrim:
<php>
  // $total is the result of a bcmath calculation
  if ( strpos($total, '.') !== false ):
    $total = rtrim($total, '0');
    $total = rtrim($total, '.');
  endif;
</php>
sicerwork at aliyun dot com
пред 11 години
edited bcround function with negative number support:
<?php
function bcround($number, $scale=0) {
    if($scale < 0) $scale = 0;
    $sign = '';
    if(bccomp('0', $number, 64) == 1) $sign = '-';
    $increment = $sign . '0.' . str_repeat('0', $scale) . '5';
    $number = bcadd($number, $increment, $scale+1);
    return bcadd($number, '0', $scale);
}
?>
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.