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

BcMath\Number::__construct

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

bcmath-number.construct.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека bcmath-number.construct.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
BcMath\Number::__construct

Референца за `bcmath-number.construct.php` со подобрена типографија и навигација.

bcmath-number.construct.php

BcMath\Number::__construct

Класата Dom\DtdNamedNodeMap

BcMath\Number::__constructКреира BcMath\Number објект

= NULL

public BcMath\Number::__construct(string|int $num)

Креира BcMath\Number објект од int or string value.

Параметри

num
Еден int or string вредност. Ако num е intсимболот, на пр. BcMath\Number::scale секогаш е поставен на 0. Ако num е string, мора да биде валиден број, и BcMath\Number::scale автоматски се поставува со парсирање на низата.

Errors/Exceptions

Returns the result as a new ValueError if num is string и не е добро формирана BCMath нумеричка низа.

Примери

Пример #1 BcMath\Number::__construct() example

<?php
$num1
= new BcMath\Number(100);
$num2 = new BcMath\Number('-200');
$num3 = new BcMath\Number('300.00');

var_dump($num1, $num2, $num3);
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

object(BcMath\Number)#1 (2) {
  ["value"]=>
  string(3) "100"
  ["scale"]=>
  int(0)
}
object(BcMath\Number)#2 (2) {
  ["value"]=>
  string(4) "-200"
  ["scale"]=>
  int(0)
}
object(BcMath\Number)#3 (2) {
  ["value"]=>
  string(6) "300.00"
  ["scale"]=>
  int(2)
}

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

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

Пример #2 Додадете датотека и поставете метод на компресија
10 месеци пред
It seems that the constructor does not accept values ​​in the scientific format, e.g. "1e20". To get around this limitation, I wrote a function that converts floats represented by a scientific format string to floats represented by a string as a decimal fractional number. You can use the output of this function as the input to the constructor.

<?php
use BCMath\Number;

$num = -123e-40;   // can be a float or string variable, because...
$strNum = sci2dec( $num );  // ...there is an internal float to string conversion
$L = new Number( $strNum );
var_dump( $L );

function sci2dec( string $s ): string
{
    if( !preg_match( '/^([+-]?)(\d+(?:\.\d+)?)[eE]([+-]?\d+)$/', $s, $m ) )
        return $s; // it's not sci format, return unchanged
    [ $sign, $mantissa, $exp ] = [ $m[1], $m[2], (int)$m[3] ];
    [ $int, $frac ] = str_contains( $mantissa, '.' ) ? explode( '.', $mantissa, 2 ) : [ $mantissa, '' ];
    $digits = $int . $frac;
    $exp -= strLen( $frac );
    if( $exp >= 0 )
    {
        $digits .= str_repeat('0', $exp);
        $dec = lTrim($digits, '0');
        return $sign . ( $dec === '' ? '0' : $dec );
    }
    $pos = strLen( $digits ) + $exp;
    if( $pos > 0 ) // kropka w środku
        return $sign . subStr( $digits, 0, $pos ) . '.' . subStr( $digits, $pos );
    return $sign . '0.' . str_repeat( '0', -$pos ) . $digits;
}
?>

Output is:

object(BcMath\Number)#2 (2) {
  ["value"]=>
  string(43) "-0.0000000000000000000000000000000000000123"
  ["scale"]=>
  int(40)
}
На оваа страница

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

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

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

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

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