我有一个已经转换为千位分隔的数字,但是在全局模型中使用number_format()帮助器。因此,当已转换的数字收到number_format帮助器时,我会收到错误消息:
(1/1) ErrorException A non well formed numeric value encountered
我正在尝试在number_format()辅助函数之前检查模型函数,该数字是否已为数千格式。我不想修改现有代码,只能在使用number_format()进行转换之前修改模型函数。有可用的功能/帮手吗?
答案 0 :(得分:1)
您可以检查$value
是否为int
,然后应用格式;如果不是,则表明它已经被格式化,请使用:
if(is_int($value))
{
$value = number_format($value, 2); // as an example here.
}
正如评论中提到的@Jerodev一样,您可能使用的是浮点数,因此.
将被视为数字的一部分,而,
则不会,因此,如果格式化使用,
的数字,您可以使用is_numeric
进行检查,如果数字已经格式化并且包含,
,则返回false。