In einem Zahlenfeld wird eine Zahl als value und ein String als text gespeichert. Der value-Wert ist immer eine gültige Zahl, wie durch die Einschränkungen definiert, die beim Erstellen des Felds festgelegt wurden. Der Text kann ein beliebiger String sein, der in den Editor eingegeben wurde.
Zahlenfeld

Zahlenfeld mit geöffnetem Editor

Zahlenfeld in minimiertem Block

Erstellung
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');
}
};
Der Zahlenkonstruktor akzeptiert Folgendes:
- eine optionale
value - eine optionale
min - eine optionale
max - eine optionale
precision - eine optionale
validator
Die value sollte in eine Zahl umgewandelt werden. Andernfalls wird 0 verwendet.
Serialisierung
JSON
Das JSON für ein Zahlenfeld sieht so aus:
{
"fields": {
"FIELDNAME": 0
}
}
Dabei ist FIELDNAME ein String, der auf ein Zahlenfeld verweist, und der Wert ist der Wert, der auf das Feld angewendet werden soll. Der Wert folgt denselben Regeln wie der Konstruktorwert.
XML
Das XML für ein Zahlenfeld sieht so aus:
<field name="FIELDNAME">0</field>
Das Attribut name des Knotens field enthält einen String, der auf ein Zahlenfeld verweist, und das innere text des Knotens ist der value, der auf das Feld angewendet werden soll. Der innere Textwert folgt denselben Regeln wie der Konstruktorwert.
Einschränkungen
Einschränkungen können in der Felddefinition oder mit der Funktion setConstraints festgelegt werden.
Mindestwert
Mit dem Wert min wird der kleinste/negativste Wert festgelegt, den das Feld enthalten darf.
Höchstwert
Mit dem Wert max wird der größte/positivste Wert festgelegt, den das Feld enthalten darf.
Rundung
Mit precision wird der Wert auf das nächste Vielfache der Genauigkeit gerundet. Damit kann das Feld so konfiguriert werden, dass nur Vielfache von 0,01, 10, 42 usw .akzeptiert werden.
Allgemeine Einschränkungen
Positive Zahlen
Wenn in Ihrem Feld nur positive Zahlen zulässig sein sollen, legen Sie den Wert min auf 1 fest.
Ganzzahlen
Wenn in Ihrem Feld nur Ganzzahlen akzeptiert werden sollen, setzen Sie precision auf 1.
Zahlenvalidierung erstellen
Der Wert eines Zahlenfelds ist eine Zahl. Daher müssen alle Validatoren eine number akzeptieren und eine number, null oder undefined zurückgeben.
Hier ist ein Beispiel für einen Validator, der den Wert in 0 oder 1 ändert, je nachdem, ob der Wert ungerade oder gerade war.
function(newValue) {
return newValue % 2;
}
