bcscale

(PHP 3, PHP 4, PHP 5)

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

Description

bool bcscale ( int scale )

This function sets the default scale parameter for all subsequent bc math functions that do not explicitly specify a scale parameter. 如果成功则返回 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 07: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
?>