За последние 24 часа нас посетили 18229 программистов и 1605 роботов. Сейчас ищут 1607 программистов ...

echo $float, символ разделения по умолчанию.

Тема в разделе "Прочие вопросы по PHP", создана пользователем HardCoderNET, 4 сен 2016.

  1. HardCoderNET

    HardCoderNET Активный пользователь

    С нами с:
    4 сен 2016
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте,
    у меня следующая проблема.

    На локальном сервере (linux, php7), когда я вывожу значение типа float.
    PHP:
    1. <?php
    2. echo 12.466;
    Я получаю на странице следующее значение: 12.466.
    Что правильно.

    Но на хостинге где тоже стоит php7, выводится значение: 12,466.

    Проблема в том что на локальном (да и везде на сколько я помню) используется точка "." как символ разделения на хостинге, запятая ",".

    Я конечно могу использовать:
    PHP:
    1. <?php
    2. echo str_replace(',', '.', 12.466);
    Получив нужный результат, но мне такой вариант не сильно нравится.

    Можно ли поменять где не будь в настройках сервера, знак разделителя по умолчанию?
     
    #1 HardCoderNET, 4 сен 2016
    Последнее редактирование: 4 сен 2016
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  3. HardCoderNET

    HardCoderNET Активный пользователь

    С нами с:
    4 сен 2016
    Сообщения:
    4
    Симпатии:
    0
    Спасибо за ваш ответ, но это не совсем то.
    В данный момент использую этот вариант (пусть в примере и использовал другую функцию).
    Мне нужно добиться этого без вызова каких либо функций.

    У меня на локальном сервере по умолчанию, используется точка (.) а значит в теории тоже самое можно сделать и на хостинге.
    Вопрос в том, как этого добиться?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Не надо этого добиваться.
    Но локаль можешь выставить.
     
  5. HardCoderNET

    HardCoderNET Активный пользователь

    С нами с:
    4 сен 2016
    Сообщения:
    4
    Симпатии:
    0
    Перефразирую, у меня локальный сервер + VPS.
    Как мне сделать так что бы у них был одинаковый символ разделитель при выводе float.
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    https://php.ru/manual/function.setlocale.html
    --- Добавлено ---
    но ещё раз обращаю твоё внимание на то, что флоаты это не инты и они для хранения бабла не подходят.
     
  7. HardCoderNET

    HardCoderNET Активный пользователь

    С нами с:
    4 сен 2016
    Сообщения:
    4
    Симпатии:
    0
    Спасибо за подсказку.
    Проблема была в том что на локальном сервере, не было нужной локали по этому использовалась та что по умолчанию.
    В то время как на VPS она была и по этому использовалась.

    Заменил в коде на en_US, теперь все ок.
    PS: там в основном значения скорости/времени заездов автомобилей.