[英]PHP gmp_mul() Error: Unable to convert variable to GMP - wrong type
[英]PHP, Unable to convert float to GMP
我想在PHP中比较两个浮点数并且因为内部比较容易出错我使用了GMP库但是它在简单比较时给出了错误
if (gmp_cmp(0.2, 0.1) > 0) echo "First number is bigger";
错误是“gmp_cmp():无法将变量转换为GMP - 错误类型”
如果您想使用GMP,请尝试以下方法:
a = "0.2";
b = "0.1";
a_s = explode(".", $a); // split on decimal point
b_s = explode(".", $b);
if (gmp_cmp(a_s[0], b_s[0]) > 0 ||
(gmp_cmp(a_s[0], b_s[0]) == 0 && gmp_cmp(a_s[1], b_s[1]) > 0))
echo "First number is bigger";
这将在小数点上拆分a和b。 如果a大于b(忽略小数),则第一个数字更大。 如果a和b相同(忽略小数),那么我们仅比较小数部分以确定a是否大于b。
希望这会有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.