У меня есть ошибка, будучи брошенным Studio управления SQL Server при выполнении этого кода:
declare @percentage numeric(3,2)
set @percentage = cast(15 as numeric(3,2))
но когда я изменяю числовое объявление на
declare @percentage numeric(4,2)
set @percentage = cast(15 as numeric(4,2))
все идет прекрасное.
Существует ли ограничение для типа числовых данных?
Числовые определяет общее количество цифр, а затем число после десятичного времени.
Числовая (3,2) может удерживать только до 9,99.
См. цифру (3,2). Это означает, что у вас есть 3 места для данных, и два из них находятся справа от десятичной запятой, оставляя только один слева от десятичной запятой. 15 имеет два места слева от десятичной запятой. BTW, если вы можете иметь 100 в качестве значения я бы увеличить его до числового (5, 2)
-121--916709-isGroup = @"^(true|false)$"
Так что...
routes.MapRoute(
"MenuRouteWithExtension",
"Menu.mvc/{action}/{projectId}/{dealerId}/{isGroup}",
new
{
controller = "Menu",
action = "RedirectUrl",
projectId = "",
dealerId = "",
isGroup = "" //Possibly set this to 'true' or 'false'?
},
new
{
projectId = @"^\d+$",
dealerId = @"^\d+$",
isGroup = "^(true|false)$"
}
);
Обсадная труба не должна иметь значения, поэтому следует принять значение True
, а также falSE
.
Кроме того, я поместил ^
и $
в значения regex, чтобы они не совпадали, например blahtrueblah
.
NUMERIC (3,2)
означает: всего 3 цифры, через 2 после десятичной точки. Таким образом, у вас есть только один десятичный знак перед десятичной точкой.
Попробуйте NUMERIC (5,2)
- три до, два после десятичной точки.
Точность и масштаб часто понимаются неправильно. В числовом(3,2) нужно 3 цифры в целом, но 2 справа от десятичной величины. Если нужно 15 => 15.00, то переполнение будет вызвано ведущей 1 (так как если нужно 2 цифры справа от десятичного разряда, то слева есть место только для еще одной цифры). С 4,2 нет проблем, потому что все 4 цифры подходят.
Целые числа между-1 и 255 (?), а также опечатки последовательности, интернированы. Каждый экземпляр в источнике фактически представляет один и тот же объект.
В CPython результатом id ()
является адрес в пространстве процесса PyObject.
См. цифру (3,2). Это означает, что у вас есть 3 места для данных, и два из них находятся справа от десятичной запятой, оставляя только один слева от десятичной запятой. 15 имеет два места слева от десятичной запятой. BTW, если вы можете иметь 100 в качестве значения я бы увеличить его до числового (5, 2)