1
0
mirror of https://github.com/php/doc-zh.git synced 2026-03-24 15:12:20 +01:00
Files
archived-doc-zh/reference/bc/book.xml
mowangjuanzi cd677b372d Update bc/fpm
2025-01-18 01:18:13 +08:00

73 lines
2.3 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: c7e83fbbbcde9f54affc09424d032c38492a3ff4 Maintainer: daijie Status: ready -->
<!-- CREDITS: Luffy, mowangjuanzi -->
<book xml:id="book.bc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<?phpdoc extension-membership="bundled" ?>
<title>BCMath 任意精度数学</title>
<titleabbrev>BC Math</titleabbrev>
<!-- {{{ preface -->
<preface xml:id="intro.bc">
&reftitle.intro;
<para>
对于任意精度的数学, 如果有足够多的内存PHP 提供的 BCMath 支持用字符串的形式表示任意大小和精度的数字,最大尺寸为
<literal>2147483647</literal>(即 <literal>0x7FFFFFFF</literal>)。
</para>
<para>
有效(即格式良好)的 BCMath 数字是匹配正则表达式
<literal>/^[+-]?[0-9]*(\.[0-9]*)?$/</literal> 的字符串。
</para>
<caution>
<para>
BCMath 函数想要操作的是 <type>string</type>,如果传入了 <type>float</type> 可能无法达到想要的效果,
因为 PHP 会将 <type>float</type> 的值转换为 <type>string</type>
也就意味着 <type>string</type> 可能会带科学计数法符号BCMath 并不支持),
另外在 PHP 8.0.0 之前小数点分隔符也不支持本地化BCMath 只能识别英文句号小数点)。
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$num1 = 0; // (string) 0 => '0'
$num2 = -0.000005; // (string) -0.000005 => '-5.05E-6'
echo bcadd($num1, $num2, 6); // => '0.000000'
setlocale(LC_NUMERIC, 'de_DE'); // 使用逗号小数点
$num2 = 1.2; // (string) 1.2 => '1,2'
echo bcsub($num1, $num2, 1); // => '0.0'
?>
]]>
</programlisting>
</informalexample>
</caution>
</preface>
<!-- }}} -->
&reference.bc.setup;
&reference.bc.reference;
&reference.bc.bcmath.number;
</book>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->