Проблема: Код (Text): $x = 12000000; // значение х задано для примера,т.к. интересует как раз тот случай, когда значение без дробной части echo round($x, 2); // возвращает научную форму: 1.2E+7, а надо 12000000 на локалхосте возвращает как требуется, на внешнем хостинге - научную. Полагаю решение нужно искать в php.ini, а может и не там . Кто знает отзовитесь.
Re: как настроить чтобы round() возвращала привычный формат чувак, echo выводит 127000000, так что хз чем тебе помочь. проверил на Win 64bit и Linux 32bit Добавлено спустя 1 минуту 21 секунду: Re: как настроить чтобы round() возвращала привычный формат ?!? а вообще ты кажется путаешь формат вывода и внутреннее представление числа. вывести можно как угодно.
Re: как настроить чтобы round() возвращала привычный формат так и у меня на локалхосте выводит 127000000, а на хостинге в научной форме и это не внутреннее представление числа , а одна из форм записи, и если мы добавим к х еще 0.1 то вывод будет таким, каким мне нужно - 127000000.1 . А вот если без дробной части, то зараза выводит научную форму. Кто сталкивался ?????? немножко пример неправильный привел. 127000000, тоже нормально выводит, а вот 12000000 уже выводит как 1.2E+7
Re: как настроить чтобы round() возвращала привычный формат форматируй вывод как тебе надо: http://php.ru/manual/function.sprintf.html http://php.ru/manual/function.number-format.html
Re: как настроить чтобы round() возвращала привычный формат фунции форматирования не убирают нули в дробной части, т.е. они вернут 12000000.00 , а эти нулики мне не нужны ... и так их много. Мне нужно так сказать "системное" решение. Код у меня уже написан, чтобы все выводилось как надо, но зачем лишние ресурсы машины тратить, если , допустим, есть какая то настройка php ....
Re: как настроить чтобы round() возвращала привычный формат не тупи, брат. форматируй как тебе надо. доки читай. Добавлено спустя 1 минуту 14 секунд: Re: как настроить чтобы round() возвращала привычный формат ?!? round изменяет ЧИСЛО. форматирование создает СТРОКУ нужного формата. используй сначала round, затем форматируй как тебе надо. Добавлено спустя 4 минуты 49 секунд: Re: как настроить чтобы round() возвращала привычный формат ?!? оператор echo выводит СТРОКУ. если на входе у него ЧИСЛО, то он сначала приводит его к какому-то строковому формату, который ты не контролируешь. так контролируй!!! сам создай СТРОКУ через sprintf() или еще как, тогда echo выведет твою строку в точности как ты укажешь. усёк?
Re: как настроить чтобы round() возвращала привычный формат не отформатируется так как мне надо: мы можем задать форматирование - вывод без дробной части, но мне то нужно если таковая есть, то ее надо выводить !!!! Код (Text): $x = 5.83; $y = 6; echo round($x, 2) ; // 5.83 echo round($y, 2) ; // 6 echo number_format($x, 2); // 5.83 echo number_format($y, 2); // 6.00 !!!! - нули после точки мне не нужны. Какая функция форматирования это учитывает, я такую не знаю ??????
Re: как настроить чтобы round() возвращала привычный формат помоему тебе нечем заняться. если тебе надо обрабатывать особые случаи - один раз напиши свою функцию форматирования. Добавлено спустя 1 минуту 38 секунд: Re: как настроить чтобы round() возвращала привычный формат ?!? Код (Text): как настроить чтобы round() возвращала привычный формат ?!? никак
Re: как настроить чтобы round() возвращала привычный формат зачем отвечать , если не вникать в суть вопроса и не читать ответы: мне нужно НЕ ПРОГРАММНОЕ, а системное решение.
Re: как настроить чтобы round() возвращала привычный формат ты читай чего тебе пишут-то =) http://php.ru/manual/function.number-format.html
Re: как настроить чтобы round() возвращала привычный формат Yudik, пиши хостеру. Проблема у него. round() не должен себя так вести даже на php <= 5.2.7 (с этой версии изменена логика функции), но мы тебе верим. Поэтому наилучшее сейчас решение или писать хостеру, или писать свою функцию-обработчик.
Re: как настроить чтобы round() возвращала привычный формат чувак, ты не путай операцию с числом и вывод числа.
Re: как настроить чтобы round() возвращала привычный формат а слабо подсказать какие параметры передавать в nuber_format() , чтобы ... Код (Text): $x = 12.25; $y = 12; echo number_format($x, ПАРАМЕТРЫ???? ); // ...чтобы было 12.25 echo number_format($y, ТЕЖЕ_САМЫЕ_ПАРАМЕТРЫ????!!! ); // ...чтобы было 12 и я то читаю что пишут, но не все читают, что я отвечаю =) Добавлено спустя 6 минут 28 секунд: Re: как настроить чтобы round() возвращала привычный формат ?!? и может кто проверит тоже у себя на хостинге, каковы результаты: Код (Text): echo round(12000000 , 2)."<br>"; echo round(127000000 , 2)."<br>";
Re: как настроить чтобы round() возвращала привычный формат смотри php.ini -> precision так же setlocale()
Re: как настроить чтобы round() возвращала привычный формат просто так как ты просишь делать не хорошо. так что не парься и юзай че взрослые дядьки говорят =)
Re: как настроить чтобы round() возвращала привычный формат фигню ты какую то сказал. Покажи что знаешь, а потом уж и говори, что нужно юзать. а попробуй $x=12000000 Добавлено спустя 1 минуту 40 секунд: Re: как настроить чтобы round() возвращала привычный формат ?!? хоть один ответ в тему
Re: как настроить чтобы round() возвращала привычный формат бабушку свою на слабо можешь брать. =) тебе сказали, а ты делай как хочешь. пора становиться взрослым. нет, не в тему. ты ищешь там где светлее.
Re: как настроить чтобы round() возвращала привычный формат вы ему хз че советуете, а нужно всего лишь ini_set("precision","15"); локаль для форматирования разделителей понадобится.
Re: как настроить чтобы round() возвращала привычный формат а бабушка мне не говорит как в решете воду носить (потому что она знает, что не получится), и если так смущает слово "слабо" спрошу иначе - если знаешь какие параметры передавать, чтобы Код (Text): $x = 12.25; $y = 12; echo number_format($x, ПАРАМЕТРЫ???? ); // ...чтобы было 12.25 echo number_format($y, ТЕЖЕ_САМЫЕ_ПАРАМЕТРЫ????!!! ); // ...чтобы было 12 то подскажи, пожайлуста. почему то в обратную сторону работает , т.е. если по дефолту (ini_set("precision","14")) то Код (Text): echo round(127000000); // 127000000 echo round(12000000); // 1.2E+7 а если сделать ini_set("precision","15") (или ini_set("precision","13") ), то Код (Text): echo round(127000000); // 1.27E+8 echo round(12000000); // 1.2E+7
Re: как настроить чтобы round() возвращала привычный формат параметров таких нет. не надо так делать в любом случае.
Re: как настроить чтобы round() возвращала привычный формат Вот, именно, что нет, и нефиг меня в маны посылать, не вникнув в задачу
Re: как настроить чтобы round() возвращала привычный формат попробуй сделать Код (Text): ini_set("precision","15"); phpinfo(); и посмотри какое там будет Local value если не получится, юзай sprintf(), там можно вывести float с заданой точностью или вывести как целое
Re: как настроить чтобы round() возвращала привычный формат не надо резать нули, в таком случае, какая бы там у тебя в голове задача ни была. что с тобой? концепция поменялась? а как же правка конфигов?