仅当数字尚未千位分隔时才应用number_format()

时间:2019-08-16 06:38:11

标签: php laravel number-formatting comma

我有一个已经转换为千位分隔的数字,但是在全局模型中使用number_format()帮助器。因此,当已转换的数字收到number_format帮助器时,我会收到错误消息:

(1/1) ErrorException
A non well formed numeric value encountered

enter image description here 我正在尝试在number_format()辅助函数之前检查模型函数,该数字是否已为数千格式。我不想修改现有代码,只能在使用number_format()进行转换之前修改模型函数。有可用的功能/帮手吗?

1 个答案:

答案 0 :(得分:1)

您可以检查$value是否为int,然后应用格式;如果不是,则表明它已经被格式化,请使用:

if(is_int($value))
{
   $value = number_format($value, 2); // as an example here.
}

正如评论中提到的@Jerodev一样,您可能使用的是浮点数,因此.将被视为数字的一部分,而,则不会,因此,如果格式化使用,的数字,您可以使用is_numeric进行检查,如果数字已经格式化并且包含,,则返回false。