Мне нужно проверить, равны ли две переменные. Но один из них в строчном формате, а другой - номер.Как преобразовать числовое число в строку?
Итак, я пытаюсь преобразовать переменную в текст, но безуспешно.
У вас есть идея?
Мне нужно проверить, равны ли две переменные. Но один из них в строчном формате, а другой - номер.Как преобразовать числовое число в строку?
Итак, я пытаюсь преобразовать переменную в текст, но безуспешно.
У вас есть идея?
Попробуйте использовать {$ number | string_format: "%. 2f"}, чтобы преобразовать оба числа в строки и сравнить их. или {$ number | string_format: "% d"}, если это целое число, а не числа с плавающей запятой.
Я не вижу способ в умении явно наложить на целое число, поэтому вы должны преобразовать оба в строку.
Если это не поможет, отправьте свой код. Возможно, проблема заключается в другой строке.
У меня была такая же проблема из-за того, что php автоматически преобразовывал ключи массива (строки) в целые числа на основе того факта, что они выглядят как целые числа (это фактически документированная функция " !), а затем испортить мое сравнение в Smarty. Прямо вперед и довольно ужасный способ сделать это:
{php}$this->assign('STR', strval($this->get_template_vars('NUM')));{/php}
Если вам нужно использовать его чаще в вашем коде, рассмотрим написание пользовательских Smarty {strval}.
Вы можете использовать SetType для преобразования целого числа в строку, а затем сравнить их ...
$var1 = 10;
$var2 = "10";
{$converted = settype($var2, 'integer')}
ИЛИ
{$converted = settype($var1, 'string')}
Это даст вам ВАР одного и того же типа. Единственная причина иметь переменную с переменным $, потому что возвращенный bool будет отображаться на вашей странице, если он не назначен.
Можете ли вы показать код? Вы пробовали сравнение? Скорее всего, если Smarty сравнивает то же самое, что и '' '' '' '' '' '' '' '' '' '' '' '', '' 1 ''окажется равным. –
Да, я попытался сравнить с ==, но он не работает – bahamut100