1

Zendで数値が浮動小数点かどうかを確認しようとしています。このコードを呼び出すと:

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

trueを返します。ただし、これは次のとおりです。

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

falseを返します。なんで?

4

1 に答える 1

3

これは、ドイツ語ロケールがピリオド.を千の区切り文字として使用しており、2番目の例ではその区切り記号が間違った場所にあるためです。

例えば:

13.001,45

trueに渡されたときに期待値を与える必要がありisFloat()ます。

ところで、次の4.202ように解釈されます4202(これは分数のない浮動小数点と見なすこともできます)。

参照:正規化とローカリゼーション、セクション「29.3.6。浮動小数点値のテスト」

于 2013-01-24T15:49:16.563 に答える