Php 检查数字是否与Zend一起浮动

Php 检查数字是否与Zend一起浮动,php,zend-framework,Php,Zend Framework,我在检查这个数字是否和Zend一起浮动。如果调用此代码: Zend_Locale_Format::isFloat('4.202', array('locale' => 'de')); 这是真的。然而,这: Zend_Locale_Format::isFloat('4.20', array('locale' => 'de')); 返回false。为什么?这是因为德语区域设置使用句点作为千分隔符,在第二个示例中,分隔符位于错误的位置 例如: 13.001,45 当传递到isFloa

我在检查这个数字是否和Zend一起浮动。如果调用此代码:

Zend_Locale_Format::isFloat('4.202', array('locale' => 'de'));
这是真的。然而,这:

Zend_Locale_Format::isFloat('4.20', array('locale' => 'de'));

返回false。为什么?

这是因为德语区域设置使用句点
作为千分隔符,在第二个示例中,分隔符位于错误的位置

例如:

13.001,45
当传递到
isFloat()
时,应给出预期的
true

顺便说一句,
4.202
被解释为
4202
(也可以认为是不带分数的浮点)


另请参见:第29.3.6节“浮点值测试”

德国语言环境是否对千位分隔符使用句点?is_float()有什么问题?请指定操作系统、ZF版本和PHPversion@Jacco
is\u float()
不区分区域设置。那么第一个是否会返回true?我想知道
isInteger
isFloat
方法之间的区别是什么?@ficuscr是的,第一种方法只是
4202
,但有一千个分隔符;一个整数也可以被视为浮点。如果一个整数也可以被视为浮点,你也可以测试“isNumber”。通常,计算机语言(包括PHP)中的“float”和“integer”指的是(不同的)基本数据类型。@Jacco我没有编写Zend框架;出于某种原因,他们不得不调用方法
isFloat()
。。。比如一个在街上的人怎么用分数写一个数字?