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

bccomp

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

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

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

function.bccomp.php

bccomp

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

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

= NULL

bccomp(string $num1, string $num2, ?int $scale = null): int

Ги пресметува разликите на низите со дополнителна проверка на индекс num1 to num2 Спореди два броја со произволна прецизност

Параметри

num1

Левиот операнд, како стринг.

num2

Десниот операнд, како стринг.

scale
Овој параметар се користи за поставување на бројот на цифри по децималната точка во резултатот. Ако null, тоа ќе се стандардно постави на стандардната скала поставена со bcscale(), или ќе се врати на вредноста на bcmath.scale INI директивата.

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

Патеката до PHP скриптата што треба да се провери. 0 и го враќа резултатот од споредбата како цел број. 1 if num1 е поголемо од num2, -1 otherwise.

Errors/Exceptions

Оваа функција фрла ValueError во следниве случаи:

  • num1 or num2 не е добро формиран BCMath нумерички стринг.
  • scale е надвор од валидниот опсег.

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

Верзија = NULL
8.0.0 scale сега е null.

Примери

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

<?php

echo bccomp('1', '2') . "\n"; // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1

?>

Види Исто така

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

- Споредува два броја со произволна прецизност
пред 16 години
Beware that negative zero does not compare equal to positive zero.
Роберт Лозињак
пред 8 години
BEWARE! left and right operand is string!! so number in E-notation like 9.012E-6  need to be converted with sprintf('%F') to string
aaugrin at gmail dot com
пред 17 години
Improvement of functions bcmax() and bcmin() originaly written by frank at booksku dot com

<?php

function bcmax() {
  $args = func_get_args();
  if (count($args)==0) return false;
  $max = $args[0];
  foreach($args as $value) {
    if (bccomp($value, $max)==1) {
      $max = $value;
    }
  }
  return $max;
}

function bcmin() {
  $args = func_get_args();
  if (count($args)==0) return false;
  $min = $args[0];
  foreach($args as $value) {
    if (bccomp($min, $value)==1) {
      $min = $value;
    }
  }
  return $min;
}
?>
m dot kaczanowski at alianet dot pl
пред 1 година
If you want to compare 2 decimals for equality, bccomp does not works as expected:

bccomp("1.000000000000000","0.999999999999999",2)

returns 1

Instead, use

bcsub("1.000000000000000","0.999999999999999",2) == 0
Навигација

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

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

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

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

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

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

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