тип экспонента экспоненциального числа до int или float

Следующий код:

echo (int) "2e2"; echo (int) 2e2; echo (float) "2e2"; 

выходы

 2 200 200 

.. и я понятия не имею, почему. Благодарю.

Related of "тип экспонента экспоненциального числа до int или float"

«2e2» – это научная нотация , означающая 2 * 10 2 == 200.

  1. В первом примере разбор строки в виде int считывает только цифры до первой нецифровой (поэтому она игнорирует e ).
  2. Парсер PHP рассматривает 2e2 как float-литерал со значением 200.0, и это дает 200 при 2e2 в int.
  3. Разбор строки в виде поплавка понимает обозначение и дает ожидаемый результат 200.