bcscale

(PHP 3, PHP 4, PHP 5)

bcscale -- Set default scale parameter for all bc math functions

说明

bool bcscale ( int scale )

Sets the default scale parameter for all subsequent bc math functions that do not explicitly specify a scale parameter.

参数

scale

The scale factor.

返回值

如果成功则返回 TRUE,失败则返回 FALSE

范例

例 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

?>


add a note add a note User Contributed Notes
invincible at limitedintelligence dot com
08-Feb-2006 11:50
If you don't set the default scale, be careful when you're chaining together several BC math functions - since by default, these functions will round off your values, losing accuracy very quickly:

<?php
$a
= 1.234
$b
= 2.345
$c
= 7.890

$ab
= bcmul($a,$b);          // 2
$abc = bcmul($ab,$c);

echo
$abc;                // 15
?>

... compare with the answer you get when you use more decimal places:

<?php
$a
= 1.234
$b
= 2.345
$c
= 7.890

bcscale
(15);
$ab = bcmul($a,$b);          // 2.893730
$abc = bcmul($ab,$c);

echo
$abc;                // 22.83152970
?>