Я реализую функцию, которая преобразует числа с плавающей запятой в строки.
function exp2int($exp) {
list($mantissa, $exponent) = spliti("e", $exp);
if($exponent=='') return $exp;
list($int, $dec) = split("\.", $mantissa);
bcscale (abs($exponent - strlen($dec)));
return bcmul($mantissa, bcpow("10", $exponent));
}
Это пример:
$n = 2.777777778e-10;
echo exp2int($n);
Возвращает:
0.0000000002777777778
Мой сервер работает под управлением Php 5.4, и с тех пор Трещина а также spliti устарели с Php 5.3, я получаю эти сообщения:
Deprecated: Function spliti() is deprecated
Deprecated: Function split() is deprecated
Как я могу заменить эти функции в моем exp2int функция (без использования @)? Спасибо!
Как сайт PHP на Трещина() состояния:
Подсказка split () устарела с PHP 5.3.0. preg_split () является рекомендуемой альтернативой этой функции. Если вам не требуется мощь регулярных выражений, быстрее использовать explode (), которая не влечет за собой издержки механизма регулярных выражений.
Аналогично для spliti ():
Подсказка spliti () устарела с PHP 5.3.0. preg_split () с модификатором i (PCRE_CASELESS) является рекомендуемой альтернативой.
Обратите внимание, однако, что explode()
принимает разделитель string
а не regex
шаблон в качестве аргумента.
Других решений пока нет …