繁体   English   中英

PHP,无法将float转换为GMP

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM