Un campo numerico memorizza un numero come value e una stringa come text. Il suo value
è sempre un numero valido come definito dai vincoli assegnati
al campo al momento della creazione; il testo può essere qualsiasi stringa inserita nel relativo editor.
Campo numerico

Campo numerico con l'editor aperto

Campo numerico nel blocco compresso

Creazione
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');
}
};
Il costruttore di numeri accetta i seguenti valori:
- un
valuefacoltativo - un
minfacoltativo - un
maxfacoltativo - un
precisionfacoltativo - un
validatorfacoltativo
value deve essere convertito in un numero. In caso contrario, verrà utilizzato 0.
Serializzazione
JSON
Il codice JSON per un campo numerico è il seguente:
{
"fields": {
"FIELDNAME": 0
}
}
dove FIELDNAME è una stringa che fa riferimento a un campo numerico e
il valore è il valore da applicare al campo. Il valore
segue le stesse regole del valore del costruttore.
XML
L'XML per un campo numerico è simile al seguente:
<field name="FIELDNAME">0</field>
L'attributo name del nodo field contiene una stringa che fa riferimento a un campo numerico e l'elemento text interno del nodo è il value da applicare al campo. Il valore
del testo interno segue le stesse regole del valore del costruttore.
Vincoli
I vincoli possono essere impostati nella definizione del campo o utilizzando la funzione setConstraints.
Valore minimo
Il valore min imposta il valore più piccolo/più negativo che il campo può contenere.
Valore massimo
Il valore max imposta il valore più grande/più positivo che il campo può
contenere.
Arrotondamento
La funzione precision arrotonda il valore al multiplo più vicino della precisione. Può essere utilizzato per fare in modo che il campo accetti solo multipli di 0, 01, 10, 42 e così via.
Vincoli comuni
Numeri positivi
Per forzare il campo ad accettare solo numeri positivi, imposta il valore di min su
1.
Numeri interi
Per forzare il campo ad accettare solo numeri interi, imposta precision su 1.
Creazione di un validatore di numeri
Il valore di un campo numerico è un numero, quindi tutti i validatori devono accettare un number e restituire un number, null o undefined.
Ecco un esempio di un validatore che cambia il valore in 0 o 1 a seconda che il valore sia dispari o pari.
function(newValue) {
return newValue % 2;
}
