Всем отличного настроения
3 / 3 / 3
Регистрация: 17.03.2014
Сообщений: 166
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Округление значений27.05.2016, 10:47. Показов 3315. Ответов 13
Метки нет Все метки)
(
Привет всем !!!
Есть запрос такого вида:
Там в основе mazut - таблица, функция "leadzero" строка, столбик (rashod) В этом столбике вопрос, как записать округление? // Если я пишу так:
А на PHP - не работает функция mazut.leadzero В PHP - выводит число _,2 Добавлено через 18 минут Попробовал записать так:
0
|
27.05.2016, 10:47 | |
Ответы с готовыми решениями:
13
Округление значений в Memo
округление значений в EXCEL Округление принимаемых значений |
476 / 239 / 114
Регистрация: 12.05.2016
Сообщений: 647
|
||||||
27.05.2016, 12:24 | 2 | |||||
А зачем нужна функция mazut.leadzero и что она делает - мы естественно сами догадаться должны?
![]() У ROUND, кстати два параметра, вы его в ваших примерах тупо неправильно вызываете, поэтому ошибку вам и выдает
0
|
765 / 666 / 194
Регистрация: 24.11.2015
Сообщений: 2,163
|
||||||
27.05.2016, 12:38 | 3 | |||||
Смотря что Вы хотите. Можно округлить то, что съедает функция mazut.leadzero. А можно округлить возвращаемый ею результат. Наконец, можно округлить и то, и другое
Получится, соответственно,
Кстати, может быть, Ваша проблема состоит в том, что функция mazut.leadzero возвращает не число, а строку. Тогда округление может Вам очень сильно все испортить. Так что же возвращает функция mazut.leadzero, и вообще, что она делает? Добавлено через 50 секунд Было бы неплохо, если бы Вы привели текст этой функции
0
|
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
||||||
27.05.2016, 12:58 | 4 | |||||
![]()
0
|
Всем отличного настроения
3 / 3 / 3
Регистрация: 17.03.2014
Сообщений: 166
|
||||||
27.05.2016, 14:35 [ТС] | 5 | |||||
Выложил функцию "leadzero"
Теперь надеюсь видно, что добавляет +/- к 0, перед запятой...
0
|
765 / 666 / 194
Регистрация: 24.11.2015
Сообщений: 2,163
|
||||||
27.05.2016, 14:43 | 6 | |||||
О-о! Тут у Вас еще приключения с кодировкой....
Бред какой-то. Как, в принципе, может быть, чтобы было IF f>0 AND f<1 THEN, и при этом в представлении числа не было десятичного разделителя? Эта функция вообще, хоть когда-то срабатывает? А попробуйте выполнить такой селект
0
|
Всем отличного настроения
3 / 3 / 3
Регистрация: 17.03.2014
Сообщений: 166
|
||||||
27.05.2016, 14:44 [ТС] | 7 | |||||
Короче говоря, проверил вот что:
Так как должны быть цифры: -0,005 / 4,929 / 0,015 / 0,066 А выводит: 0 / 4,9 / 0 / 0,1
0
|
765 / 666 / 194
Регистрация: 24.11.2015
Сообщений: 2,163
|
||||||
27.05.2016, 14:47 | 8 | |||||
Насчет плюса - не видно. А минус и так должен добавляться к отрицательному числу, для этого не нужно огород городить
Добавлено через 1 минуту Ну так округляйте до трех знаков, и будет Вам счастье
0
|
Всем отличного настроения
3 / 3 / 3
Регистрация: 17.03.2014
Сообщений: 166
|
||||||
27.05.2016, 15:02 [ТС] | 9 | |||||
Выкладываю:
1) столбик MAZUT.LEADZERO(RASHOD) Значения: -0,005 / 0,015 2) второй столбик - RASHOD Значения: -,005 / ,015 Добавлено через 9 минут Округлил, получил ошибку: Warning: oci_execute() [function.oci-execute]: ORA-06553: PLS-306: wrong number or types of arguments in call to 'LEADZERO' in C:\Site\localhost\www\nktec1.tgc16.ru\myprog\mazut (web programm - test !!!)\index.php on line 124 Добавлено через 1 минуту Код:
Может я что-то не так делаю?
0
|
765 / 666 / 194
Регистрация: 24.11.2015
Сообщений: 2,163
|
||||||
27.05.2016, 15:06 | 10 | |||||
Надо не так mazut.leadzero(round(rashod),3), а вот так mazut.leadzero(round(rashod,3))
Зачем нужно страдать всякой фигней, когда есть стандартные функции. Попробуйте два варианта, вдруг какой-то подойдет
1
|
765 / 666 / 194
Регистрация: 24.11.2015
Сообщений: 2,163
|
|
27.05.2016, 15:14 | 12 |
Не понял, как мог вариант с
вывести три цифры, которые Вам были нужны
0
|
765 / 666 / 194
Регистрация: 24.11.2015
Сообщений: 2,163
|
|
27.05.2016, 15:26 | 14 |
![]() Решение
Это делается стандартной функцией TRIM(to_char(rashod, 'fm99999999990.9'))
Форматирование - оно тоже округление делает Добавлено через 1 минуту Функция, которую Вы привели, не добавляет никаких плюсов. Добавлено через 1 минуту А если Вам действительно нужен плюс, попробуйте TRIM(to_char(rashod, 'sfm99999999990.9'))
1
|
27.05.2016, 15:26 | |
27.05.2016, 15:26 | |
Помогаю со студенческими работами здесь
14
округление и сумма округленных значений Округление значений переменных в PHP
Округление значений в двумерной динамической матрице Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |