Un campo numerico memorizza un numero come value
e una stringa come text
. È value
è sempre un numero valido come definito dai vincoli assegnati a
il campo al momento della creazione; il testo può essere qualsiasi stringa inserita nel suo editor.
Campo numerico
Campo numerico con 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 prende in considerazione quanto segue:
value
facoltativo- un valore di min facoltativo
- un'offerta max facoltativa
- Una precisione facoltativa
- Uno strumento di convalida facoltativo
value
deve essere trasmesso a un numero. In caso contrario, verrà utilizzato il valore 0.
Serializzazione
JSON
Il codice JSON per un campo numerico è simile al 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
Il codice 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 numero
e il text
interno del nodo è il value
da applicare al campo. La
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 il metodo setConstraints personalizzata.
Valore minimo
Il valore min
imposta il valore minimo/più negativo a cui è consentito il campo
contengono.
Valore massimo
Il valore max
imposta il valore massimo/più positivo a cui è consentito il campo
contengono.
Arrotondamento
precision
arrotonda il valore al multiplo di precisione più vicino. 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 fare in modo che il campo accetti solo numeri positivi, imposta il valore min
su
1.
Numeri interi
Per fare in modo che il campo accetti solo numeri interi, imposta precision
su 1.
Creazione di uno strumento di convalida dei numeri
Il valore di un campo numerico è un numero, pertanto tutti gli strumenti di convalida devono accettare i valori number
e
restituisce number
, null
o undefined
.
Ecco un esempio di uno strumento di convalida che cambia il valore in 0 o 1 a seconda che il valore fosse pari o dispari.
function(newValue) {
return newValue % 2;
}