问题标签 [bcmath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1128 浏览

php - PHP:如何将数字提高到(微小的)小数指数?

我正在使用 PHP 在 PHP 中进行计算bcmath,并且需要e通过小数指数进行计算。不幸的是,bcpow()只接受整数指数。指数通常比浮点数允许的精度更高,因此普通的算术函数不会削减它。

例如:

结果"1"出现错误“bc 数学警告:指数中的非零刻度”。

我可以使用其他功能来代替bcpow()吗?

0 投票
1 回答
317 浏览

php - 为什么 bcmath 函数不会失去精度?

我们都知道处理浮点数可能会遇到这样的麻烦:

使用 bcmath 函数将有助于:

php手册:

但是为什么会这样呢?
我注意到前两个参数应该是字符串,我想知道这是不是因为这些函数以字符串方式处理数字?

0 投票
2 回答
523 浏览

php - 为什么在 PHP 中使用 bccomp 比较负零不等于正零?

我尝试使用 bccomp 将“+0.00000000000”与“+0.00000000000”进行比较。我希望结果为 0,但实际上得到 1。

0 投票
2 回答
429 浏览

php - 整分值需要PHP bcmath?

在 PHP 中,我正在编写一个应用程序,它需要精确到货币小数点右边的 2 位数字(例如:我关心1.23 === 1.23但没有更多的右侧数字)。

我知道浮点数通常被认为是不好的做法,因为基于从小数点右边从 2 到 10 转换的性质,它们的值不精确。但是,在我对处理货币值的最佳实践的研究中,我看到了一些论点,即如果您需要大于整数值的精度,浮点数并不好。我显然不需要比整分值更高的精度。

那么,我的问题是:

  1. 是否值得付出额外的努力将值存储为与bcmath库一起使用的字符串?
  2. 如果使用bcmath库,我应该将 MySQL 数据库中的值存储为字符串还是decimalMySQL 支持?

谢谢!

0 投票
1 回答
748 浏览

php - PHP bcmath 与 Python 十进制

我正在使用 PHP 的bcmath库对定点数执行操作。我期待得到与 PythonDecimal类相同的行为,但我很惊讶地发现了以下行为:

Decimal在 Python 中使用s 时,我得到:

这是为什么?当我使用它来执行非常敏感的操作时,我想找到一种方法在 PHP 中获得与 Python 中相同的结果(即(x / y) * y == x

0 投票
1 回答
697 浏览

php - 为什么 php bccomp 相等?

php 版本 5.4.33 php.ini: bcmath.scale = 0 (也试过 bcmath.scale = PHP_INI_ALL)

问题:

php5433 -r "echo bccomp(0.00000001, 0, 9);" 打印 0

php5433 -r "echo bccomp(1.00000001, 1, 9);" 打印 1

为什么?任何人都可以帮忙吗?

0 投票
1 回答
455 浏览

php - php中的十进制乘法

我对两位小数30.630.15. 我的计算器说它应该导致4.60.

由此产生的结果是4.59

从我读过的内容来看,bcmul 是用来处理十进制数的?

非常感谢,

0 投票
1 回答
84 浏览

php - 如何将输出作为整数?

输入将由许多数字对组成,每个数字对位于单独的行中,数字用逗号分隔。这些数字可以长达 100 位。数字将是整数和派别数字,负数不会输入。输入将在文件末尾终止。

输出将是在其自己的单独行上的反向总和。对于每个输入对,应该有一个反向和。

我正在写这段代码,但没有给出正确的结果作为整数值 $number="36222813552166588601325554186418874001226412488844274840066661514,32814873748120642422248240335447 "; $int_array = array_map("intval", explode(",", $number));

得到输出:91+E562719451714.1

预期输出:68046696201386131133563894412955974001226412488844274840066661514

0 投票
0 回答
53 浏览

php - bcmath 计算没有给出准确的答案

用常规数学看一下这个例子:

答案如预期:

浮动(1.5)

但是,当在 BCMath 中执行相同操作时:

答案总是:

字符串(14)“1.499999999999”

虽然它应该是精确的“1.5”!

我已经尝试将默认比例值增加到 100、200、1000。我已经尝试专门为我的bcdiv通话增加比例,但无论如何它不想给出 1.5 作为答案。

任何帮助将不胜感激

0 投票
1 回答
3812 浏览

gmp - 如何安装 Intl、GMP 和 BCMath PHP 扩展?

Centos 6.8 决赛

php 7.0.16

Directadmin 控制面板

百胜安装 php-gmp

百胜安装 php-bcmath

百胜安装 php-intl

结果是:没有可用的包 xxx。

谢谢你。