首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在FILTER_FLAG_ALLOW_FRACTION中使用Filter_SANITIZE_FLOAT,但是仍然没有逗号?

在FILTER_FLAG_ALLOW_FRACTION中使用Filter_SANITIZE_FLOAT,但是仍然没有逗号?
EN

Stack Overflow用户
提问于 2018-06-09 07:47:07
回答 1查看 274关注 0票数 1

我的问题是我丢失了小数符号,尽管我按照PHP文档使用了sanitize浮点。

我曾经考虑过使用validate而不是sanitize,但是见鬼...它在过去的命令实现中是有效的,所以我就是不明白。

我可能遗漏了什么?

我的错误代码片段:

代码语言:javascript
复制
if (is_numeric($value) && !empty($value) && !is_null($value)){
     $temp[$key] = filter_var($value,FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
    var_dump($value, $temp[$key]);
}

A capture of my var_dump

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-09 08:07:49

我对这个问题有两个解决方案……

1-使用区域设置...我发现我的项目经理要求本地设置如下: setlocale(LC_ALL,'fr_CA.utf-8');所以它确认逗号是十进制字符。我怀疑PHP在这种情况下不适用,如果我的本地更改了小数符号,PHP仍将使用'filter_var(‘查找句号。

2- filter_var($value,FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION | FILTER_FLAG_ALLOW_THOUSAND );它允许逗号和句号,所以它可以解决这个问题……

我将在PHP官方网站上发布这篇文章,以警告其他可能遇到与我相同的问题的人……

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50769678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档