比较php和sql中的大数
我需要将php中的一个非常大的数字(30位长)与数据库中的2个数字进行比较。做这件事的好方法是什么?我尝试过使用浮点数,但不够精确,我不知道在php中使用大数的好方法。您可以比较字符串 根据从数据库获取数据的方式,可能需要在SQL语句中将整数显式转换为字符串类型比较php和sql中的大数,php,sql,numbers,Php,Sql,Numbers,我需要将php中的一个非常大的数字(30位长)与数据库中的2个数字进行比较。做这件事的好方法是什么?我尝试过使用浮点数,但不够精确,我不知道在php中使用大数的好方法。您可以比较字符串 根据从数据库获取数据的方式,可能需要在SQL语句中将整数显式转换为字符串类型 除此之外,PHP中还有几个处理大整数的库,如和。您可以比较字符串 根据从数据库获取数据的方式,可能需要在SQL语句中将整数显式转换为字符串类型 除此之外,PHP中还有几个处理大整数的库,如和。您尝试过使用字符串比较吗?只要确保每个数字都
除此之外,PHP中还有几个处理大整数的库,如和。您可以比较字符串 根据从数据库获取数据的方式,可能需要在SQL语句中将整数显式转换为字符串类型
除此之外,PHP中还有几个处理大整数的库,如和。您尝试过使用字符串比较吗?只要确保每个数字都用零填充即可
mysql> select "123123123123123123456456456"<"123123123123123123456456457";
+-------------------------------------------------------------+
| "123123123123123123456456456"<"123123123123123123456456457" |
+-------------------------------------------------------------+
| 1 |
+-------------------------------------------------------------+
mysql>选择“1234564566456456”您尝试过使用字符串比较吗?只要确保每个数字都用零填充即可
mysql> select "123123123123123123456456456"<"123123123123123123456456457";
+-------------------------------------------------------------+
| "123123123123123123456456456"<"123123123123123123456456457" |
+-------------------------------------------------------------+
| 1 |
+-------------------------------------------------------------+
mysql>选择“1234564566456456”检查函数
我自己没有这样做,所以它可能不正确,但我认为您必须从GMP或BC Math获取字符串结果,并将其输入到查询中。确保将数字存储为bigint
有趣的事实:你可能会认为BigInt将被限制在20位左右,你是对的,除了它有Mysql Magic:
通过使用字符串存储,始终可以在BIGINT列中存储精确的整数值。在本例中,MySQL执行字符串到数字的转换,不涉及中间的双精度表示
在PHP中处理大量数字是通过两个库中的任意一个完成的:GMP或BC Math
我自己没有这样做,所以它可能不正确,但我认为您必须从GMP或BC Math获取字符串结果,并将其输入到查询中。确保将数字存储为bigint
有趣的事实:你可能会认为BigInt将被限制在20位左右,你是对的,除了它有Mysql Magic:
通过使用字符串存储,始终可以在BIGINT列中存储精确的整数值。在本例中,MySQL执行字符串到数字的转换,不涉及中间的双精度表示
如果它们非常大,我甚至会将它们作为字符串进行比较。首先,如果一个比另一个长,它就赢了。如果长度相同,则从左到右逐位比较-如果两个数字不同,则数字较大的数字获胜。这当然适用于正整数。如果它们非常大,我甚至会将它们作为字符串进行比较。首先,如果一个比另一个长,它就赢了。如果长度相同,则从左到右逐位比较-如果两个数字不同,则数字较大的数字获胜。这当然适用于正整数