如何在 laravel 中使用浮点值从 DB 中搜索值?

Posted

技术标签:

【中文标题】如何在 laravel 中使用浮点值从 DB 中搜索值?【英文标题】:How to search a value from DB with float value in laravel? 【发布时间】:2021-12-24 18:24:15 【问题描述】:

我正在开发一个 API,它负责使用像 99.99 or 67.00..... 这样的浮点值进行搜索,如果我们输入 999999.99,下面的查询应该获取数据,但是如果用户搜索,我需要显示结果仅限99.99..

$searchBooks=Books::where("price",$price)->get();

【问题讨论】:

【参考方案1】:

测试精确的浮点值是个坏主意,因为浮点精度不足以实现相等。

$searchBooks=Books::whereRaw("abs(price-$price)<0.0001")->get();

在this question中查看更多详细信息。

【讨论】:

以上是关于如何在 laravel 中使用浮点值从 DB 中搜索值?的主要内容,如果未能解决你的问题,请参考以下文章