Возвращаемое значение как -0 из оракула sql

есть ли способ вернуть 0 как -0 из oracle sql/plsql, чтобы мы могли выполнить некоторую проверку, это просто для того, чтобы убедиться, что значение 0 округлено от отрицательного значения или положительного значения.

Если есть какой-либо альтернативный подход, дайте мне знать, чтобы справиться с этим, округление значения в Javascript не совсем так, как округление в oracle sql.

Где произошло округление? Можете ли вы вместо этого выбрать неокругленное (предположительно все еще отрицательное) значение? А что "не точно" при округлении значения в Javascript? Может быть, вы можете выбрать как округленное, так и исходное значение и посмотреть на знак последнего, чтобы решить, что вы хотите сделать?

Thilo 27.05.2019 10:47

Я немного запутался: вы получаете -0 от оракула и хотите округлить до 0 в javascript?

GJCode 27.05.2019 10:47

округление происходит в процедуре оракула, теперь оно будет отправляться как 0, но в javascript мы должны сделать некоторый код, если значение округляется до нуля от -0,0000001, оно должно отображаться как красный шрифт ноль, иначе синий ноль.

TAT 27.05.2019 10:51

Похоже, вы можете выбрать неокругленное значение (в дополнение к округленному, если вы по какой-то причине не хотите округлять в Javascript).

Thilo 27.05.2019 10:52

@GJCode, мы получаем данные как 0 от оракула, но зависит от того, округлены ли они от отрицательного значения, мы должны выполнить некоторую операцию

TAT 27.05.2019 10:52

Что вообще такое -0? math.stackexchange.com/questions/667577/…

William Robertson 27.05.2019 11:36

@A_T Согласно документация в Oracle нет -0: «Типы данных с плавающей запятой не соответствуют IEEE754 в следующих областях: -0 приводится к +0». Возможно, вам придется принять обходной путь для этой проблемы.

Jon Heller 28.05.2019 06:01
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
7
72
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

мой ответ не округляется в Oracle: если javascript получает 0, он не может знать, было ли это -0,001 или +0,001, поэтому будьте проще, передайте точное значение js и сделайте что-то вроде этого:

if (value < 0) {
doSomethin();
} else {
doElse();

если по какой-то причине вам нужно округлить его в Oracle, вам нужно вернуть дополнительную информацию в js, например: 0 «от отрицательного» и в js:

if (text === "from negative") {
 doSomething();
} else {
doElse();
}

Попробуйте использовать приведенный ниже способ, чтобы удовлетворить ваше условие.

SELECT (CASE WHEN 0=0 THEN '-0' ELSE 'FALSE' END) AS CHK_ZERO FROM DUAL;

В приведенном выше выражении замените один ноль вашей переменной параметризованный и получите требуемый результат.

Другие вопросы по теме