# Verificar los límites del esquema numérico en lugar de asumir la coerción completa

> Véase Int, SmallInt, TinyInt y Number2 con esquemas compactos nativos, incluyendo valores fraccionados, entradas cero y fuera de rango.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: es
Content-SHA256: e71398029e2227d79752a024ccf26345c0ba344923cc7cfed38653af19d109e0
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

En `total5@0.0.19`, los tipos numéricos compactos entran todos en el validador del número nativo. **`Int` No garantiza un completo*: `7.9` Se conserva. `Number2` También conserva esta fracción; no interprete su nombre como en torno a dos lugares decimais.

`TinyInt` acepta valores de 0 a 255. `SmallInt` acepta de -32767 a 32767; en particular, -32768 se rechaza en esta versión. Estas comprobaciones de subtipo imponen límites pero no exigen valores enteros: `TinyInt` acepta `1.5`. Aplica una comprobación explícita con `Number.isInteger()` para identificadores, contadores o cantidades que deban ser enteros. Estas observaciones describen esta versión y los valores probados, no la semántica de columnas SQL.

```js controllers/numbers.js
var schema = NEWSCHEMA('NumericBoundaries', '*integer:Int,*small:SmallInt,*tiny:TinyInt,*decimal:Number2');

exports.install = function() {
	ROUTE('POST /numbers/ @json', numbers);
};

function numbers($) {
	var result = schema.transform($.body);
	if (result.error) {
		$.response.status = 400;
		$.json({ error: 'invalid numeric input' });
		return;
	}
	$.json(result.response);
}
```
