Un campo numérico almacena un número como su value
y una cadena como su text
. Su value
siempre es un número válido, tal como lo definen las restricciones que se le dan a
el campo en la creación; el texto puede ser cualquier cadena que se ingrese en su editor.
Campo de número
Campo numérico con el editor abierto
Campo de número en el bloque contraído
Creación
JSON
{
"type": "example_number",
"message0": "number: %1",
"args0": [
{
"type": "field_number",
"name": "FIELDNAME",
"value": 100,
"min": 0,
"max": 100,
"precision": 10
}
]
}
JavaScript
Blockly.Blocks['example_number'] = {
init: function() {
this.appendDummyInput()
.appendField("number:")
.appendField(new Blockly.FieldNumber(100, 0, 100, 10), 'FIELDNAME');
}
};
El constructor de números toma lo siguiente:
- un
value
opcional - un campo min opcional
- un parámetro max
- una precisión opcional
- un validador opcional
value
debe convertir a un número. De lo contrario, se usará ese valor.
Serialización
JSON
El JSON para un campo numérico se ve de la siguiente manera:
{
"fields": {
"FIELDNAME": 0
}
}
Donde FIELDNAME
es una cadena que hace referencia a un campo numérico.
el valor es el valor que se aplicará al campo. El valor
sigue las mismas reglas que el valor del constructor.
XML
El XML de un campo numérico se ve así:
<field name="FIELDNAME">0</field>
El atributo name
del nodo field
contiene una cadena que hace referencia a un número.
y el text
interno del nodo es el value
que se aplicará al campo. El
de texto interno sigue las mismas reglas que el valor del constructor.
Limitaciones
Las restricciones se pueden establecer en la definición del campo, o mediante setConstraints .
Valor mínimo
El valor min
establece el valor más pequeño o negativo que se permite en el campo.
que contiene.
Valor máximo
El valor max
establece el valor más grande o positivo que el campo puede usar.
que contiene.
Redondeo
precision
redondea el valor al múltiplo de precisión más cercano. Puede ser
que se usa para que el campo solo acepte múltiplos de 0 .01, 10, 42, etc.
Limitaciones comunes
Números positivos
Para forzar que tu campo solo acepte números positivos, establece el valor de min
en
1)
Números enteros
Para forzar que tu campo solo acepte números enteros, establece precision
en 1.
Cómo crear un validador de números
El valor de un campo numérico es un número, por lo que cualquier validador debe aceptar un number
y
Se muestra number
, null
o undefined
.
Este es un ejemplo de un validador que cambia el valor a 0 o 1 dependiendo de si el valor es impar o par.
function(newValue) {
return newValue % 2;
}