Как мне проверить точность / масштаб числа, отправленного из формы, чтобы убедиться, что оно может быть сохранено в столбце Oracle NUMBER?Например:
<input type="number" name="foo" value="123.45" />
Пользователь отправляет форму в бэкэнд PHP ...
<?php
function isValidNumber($number, $precision, $scale) {
// ???
return $isValid;
}
// The precision and scale here are actually dynamic
$isValid = isValidNumber($_POST['foo'], 5, 2);
... где я хотел бы иметь возможность проверить число, не пытаясьвставьте / обновите его в Oracle и обработайте любые ошибки переполнения точности (упреждающий дизайн, а не реактивный).Я не смог придумать метод точной проверки всех различных случаев (Oracle не выдает ошибок для переполнения шкалы - он просто округляется до максимума, но это округление может привести к переполнению точности, что приводит к ошибками т. д.).