问题标签 [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.
php - bcmath 似乎对我的计算给出了错误的答案
我不确定我做错了什么,但这个计算
回显“83.59999999999999999670”,但其他所有计算器都给我 83.6。
有没有办法解决这个问题,或者它是 bcmath 的一个缺陷?
php - bcpow 和 pow 有什么区别?
有人可以向我解释我是否应该使用 bcpow() 而不是 pow() 吗?为什么?
我了解并非所有 php 安装都启用了 bcmath。因此,如果我编写一个开源项目,并且希望尽可能少的依赖项/要求,我宁愿在我的代码中使用 pow()。
但是使用 pow() 而不是 bcpow() 的缺点是什么?
php - 尝试解密 PHP PseudoCrypt 类
我正在尝试创建一种方法来反转在以下位置列出的 PseudoCrypt 脚本:http ://blog.kevburnsjr.com/php-unique-hash 。在此代码中,它具有以下等式:
我已经能够获取除 $num 之外的所有变量。例如,采用以下数字:
等式将如下所示:
答案应该是 1。但是我还没有确定使方程 = $num 的方式。我想使用它在 URL 中创建的哈希,然后解密哈希以在我的数据库中执行查询。
编辑:如果有更好的方法来创建一个独一无二的哈希值,并且复制空间很小,我会对此持开放态度。
编辑:不知何故,我为 $dec 输入了错误的值。编辑:使用功能代码更新的博客帖子。
php - 对 PHP 的 bcmul() 规模感到困惑
为什么这是输出87.5
而不是 输出87.50
?
php - Why subtraction doesn't work properly using bcmath?
Let's say I have
it returns me 0.33333333333333333333
If I have
it returns me 0.33323333333333333332
If I have
it returns me 0.33333333333333331483
If I have
it returns me 0.33323333333333331482
So why it can't properly subtract, it's something with floating point? But it works fine when just bcdiv(1, 3, 20)
php - PHP中的任意精度数学
我目前正在尝试弄清楚如何在 PHP 中使用任意精度的数字。所以我想我的第一个问题是什么是任意精度数学。我试着用谷歌搜索一个好的定义,但由于某种原因,没有人能用足够简单的词来表达。
二、PHP中的BCMath和GMP库有什么区别?我听说 GMP 的 API 是“更新鲜的”,但 idk。一个更好吗?
我的最后一个问题是 BCMath/GMP 需要什么类型的数字。显然它采用字符串形式的普通整数(例如“5.34”),但我已经看到 BCMath 函数直接与表示常规整数的八位字节字符串一起使用的实现(例如“\x12\x23\x45\x67”),我'听说被称为“bigint”,但谷歌再次对我没有任何帮助。
php - 使用 BCMath 时出错 - 调用未定义的方法 PEAR_Error::int2bin()
我在使用 BCMath 时遇到此错误 -
致命错误:在第 23 行的 login.php 中调用未定义的方法 PEAR_Error::int2bin()
我正在尝试一起使用 Crypt_RSA 和 BCMath。这是我的代码 -
php - 会计系统 - MySQL 和 PHP 精度
我正在用 PHP 和 MySQL 构建一种会计系统。我的数据库有DECIMAL (11,2)
货币列,还有DECIMAL
用于货币操作的所有其他值(如要应用的百分比)。我以前从未编写过类似的程序,所以我不确定我做的是否正确。
我是否在数据库中使用了正确的精度级别?
在 PHP 方面:
我应该对以后可能存储在数据库中的任何值使用 BC 数学函数吗?
我还必须将货币值格式化,
为小数点和.
千位分隔符。我知道number_format
,并且最近发现了money_format
,但手册上说两者都使用浮点数操作。
我可以将number_format
或money_format
用于将显示或导出到 CSV 或 Excel 的值吗?
php - 计算浮点幂 (PHP/BCMath)
我正在为bcmath
扩展编写一个包装器,而关于错误 #10116的问题bcpow()
特别烦人——它将$right_operand
( $exp
) 转换为(原生 PHP,不是任意长度)整数,因此当您尝试计算平方根(或任何其他root 高于1
) 的一个数字,1
而不是正确的结果。
我开始寻找可以让我计算数字的第 n 根的算法,我发现这个答案看起来很可靠,我实际上使用 WolframAlpha扩展了公式,我能够在保持准确性的同时将速度提高约 5%的结果。
这是一个模仿我的 BCMath 实现及其局限性的纯 PHP 实现:
上面的方法似乎很好用, 除非1 / fmod($exp, 1)
没有产生 integer。例如,如果$exp
is 0.123456
,它的倒数将会是并且8.10005
和 的结果会有点不同(demo):pow()
_pow()
pow(2, 0.123456)
=1.0893412745953
_pow(2, 0.123456)
=1.0905077326653
_pow(2, 1 / 8)
=_pow(2, 0.125)
=1.0905077326653
如何使用“手动”指数计算达到相同的精度水平?
php - 如何在 php 中使用 BC Math 的无穷大?
我找不到如何在 BC Math 中使用无穷大。让我们看一下:
一切顺利,直到 $divider 为 0。所以你例外:
问题是 $result 在以后的计算中被计算为“0”。我可以将 $result 设置为任意大数,但这破坏了精确计算的概念。此外,如果我输入太大的数字以获得准确的计算,它会变得更慢。
有没有办法克服这个问题?