如何在 Laravel 中检查给定的数字是否为小数?

问题描述 投票:0回答:2

我想检查天气给定的数字是否为小数,如果是小数,则应返回小数,否则应返回整数。

我从互联网上尝试了很多解决方案,但在某些条件下失败了,请帮助我实现这个目标。

如果也是这种格式,它应该返回 decimal 10.00, 10.0 ,99.000 .

$value=$request->amount;//99.99,99.00...
if(gettype($value)){
 if(decimal){
 //My logic goes here.
}
if(integer){
//My logic
}
}
php laravel decimal
2个回答
0
投票

这就是你想要的:

$value=$request->amount;

if(fmod($value, 1) !== 0.00){
    //It is decimal, so the decimal logic goes here.
} else {
    // It is an Intereger, so the ineteger logic goes here.
}

fmod(x,y) 是一个 PHP 函数,返回 x/y 的余数。

只需设置 y=1,只有当 x/1 的余数等于 0.00 时,数字(这里是 x)才是整数。

例如:

fmod(10.05,1) 的输出是 0.05,所以它是十进制的 fmod(5,1) 的输出是 0,所以它是一个整数

如果您想了解更多关于fmod函数的信息,请访问fmod函数说明

注意:您甚至可以将字符串传递给 fmod 函数,它会自动更改为数字。

例如:

fmod('34.04',1) 的输出是 0.04,并且是十进制


0
投票
if(strpos($price,'.') === false)
{
echo 'Not a decimal'
}
© www.soinside.com 2019 - 2024. All rights reserved.