草庐IT

GL_HALF_FLOAT

全部标签

php - 过滤 sanizite 用户输入 float 逗号/点问题

试图弄清楚如何以一种明智的方式在php中使用用户过滤器//Dosanizationofuserinput//$_POST['amount_ecb']canbe77,7or77.7$amount=filter_input(INPUT_POST,'amount_ecb',FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);如果发布的值为77.7,它会正确设置数量,但如果用户使用逗号而不是点设置数字(例如77,7)$amount返回77我希望它在这两种情况下都返回77.7。这可以用过滤器解决吗?更新反馈后(发布答案)我仍然有同样的

php - json_encoding 时如何获取数字 float (不是字符串!)?

我需要一个使用点分隔符的数字float,它在(json)编码后保持数字,以便将POSTheader发送到第三方API。然而,已经尝试了几个小时,却无法让它工作。我需要的是:{"price":17.95,//BUTNOT:"price":"17.95"OR17,95}为什么?因为接收API端点检查第一个值,但对后两个值抛出一个非数字错误。现在,我们在荷兰。所以我们的“语言环境”使用逗号分隔符。通过将区域设置从nl_NL设置为en_US来解决这个问题,为number_format函数提供正确的格式,但是,作为字符串。使用(float)转换逗号或点分隔的字符串会导致它从分隔点丢失任何值。(“

php - 如果 float/double 等于或大于/小于最小值,如何在 Zend Framework 中进行验证?

我有一个简单的问题,我还没有找到答案,那就是如何使用内置的ZendValidator来测试float/dobule是否大于或等于最小值?我已经搜索了符合我要求的答案,并且发现了这个问题GreaterOrEqualvalidatorinZendFramework但我的有点不同。此外,我知道我可以创建自己的验证器或像这样复制网络上的验证器之一GreaterThanorEqualValidator但我想知道如何使用内置验证器进行验证。这是一个让你更好理解的例子。如果我有一个整数,我可以这样实现这个目标:$Validators=array(newZend_Validate_Int(),newZ

php - Mysql查询以搜索圆形 float

我有一张表,其中存储了城市及其坐标(纬度、经度)和天气信息。有可能用户搜索没有天气信息的城市,但附近的城市有。此外,我不想按名称搜索城市,因为如果用另一种语言输入城市名称可能会发生变化,(例如基辅-基辅、日内瓦、日内瓦、Genf等)坐标不会改变很多。因此,我使用googleapi从城市名称获取经纬度,它返回如下内容:基辅市:(谷歌)纬度:50.4501,经度=30.5234(四舍五入为:50.45-30.52)但是,在我的天气表中,这座城市拼写为Kyiv,其坐标如下:纬度:50.4333,经度=30.5167那么现在,我将如何继续在我的天气表中搜索以搜索坐标的舍入值(存储为float)

php - 从php中的字符串中提取正 float 和负 float

对于php,我必须从字符串中提取float。我是正则表达式的新手,但我找到了一个在大多数情况下都适合我的解决方案:ExtractfloatingpointnumbersfromastringinPHP$str='152.15x12.34x11mm';preg_match_all('!\d+(?:\.\d+)?!',$str,$matches);$floats=array_map('floatval',$matches[0]);print_r($floats);唯一的问题是负值;有人可以以正确包含负数的方式为我更改表达式吗?谢谢! 最佳答案

php,var_export 失败并出现 float

这个问题在这里已经有了答案:Isfloatingpointmathbroken?(31个答案)关闭7年前。很简单。考虑这段代码:var_export(11.2);返回11.199999999999999使用PHP5.6怎么回事?

PHP 类型转换 float->int

鉴于此PHP代码://totalis71.24(float)$value=$total*100;var_dump($value);$valuecast=(int)$value;var_dump($valuecast);settype($value,'int');var_dump($value);var_dump($value)给出float(7124)var_dump($valuecast)给出int(7123)var_dump($value)aftersettype给出int(7123)如何获得正确的类型转换? 最佳答案 来自Ty

php - PHP float 计算的准确性

$fooValue=100.68;$cowValue=100.67;$diffValue=$fooValue-$cowValue;if($diffValue这将显示“错误”。我知道用Java做什么。但我不擅长PHP,尤其是在计算方面。请帮帮我。我的意思是如何成功? 最佳答案 Float是一种不精确的数据类型(与所有float据类型一样),因为在与二进制进行转换时可能会失去精度。这就是为什么在需要高(精确)精度时不应该使用浮点运算的原因。在PHP中,查看BCMath或GMP图书馆。后者仅适用于整数,但它具有高性能,有时可以在不损失精度

php - 在 PHP 中将混合分数字符串转换为 float

我假设在PHP中有一种简单的方法可以将185/16之类的字符串转换为float18.3125。我找不到一个简单的功能来做到这一点。有没有,还是我需要自己写? 最佳答案 我认为这样的函数不存在——至少没有与PHP捆绑在一起。写一个函数来做这个操作,如果你的字符串总是有相同的格式,应该不会太难;例如,我会说像这样的东西应该可以解决问题:$str='185/16';var_dump(calc($str));functioncalc($str){$int=0;$float=0;$parts=explode('',$str);if(count

php - 当-11.5加11.5等于float(2.8421709430404E-14)

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:PHPMathPrecisionBestpracticeforworkingwithcurrencyvaluesinPHP?我真的希望有人能提供帮助。在这件事上,我一直在用头撞墙。情况是这样的:我有一个结帐计算折扣后的小计为-£11.50。然后需要添加11.50英镑的运费,恕我直言,这应该等于0英镑。但是当计算运行时它返回一个float2.8421709430404E-14在我的调试工作中,我这样做了:var_dump($build['total'],//float(-11.5)$build['deliver