In einem Zahlenfeld wird eine Zahl als value
und ein String als text
gespeichert. Es ist value
ist immer eine gültige Zahl gemäß den Einschränkungen für
auf das Feld bei der Erstellung, sein Text kann eine beliebige Zeichenfolge sein, die 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 nimmt Folgendes an:
- ein optionales
value
- ein optionales Min.
- einen optionalen max
- einen optionalen Precision-Wert
- einen optionalen Validator
value
sollte in eine Zahl umgewandelt werden. Andernfalls wird 0 verwendet.
Serialisierung
JSON
Die JSON-Datei für ein Zahlenfeld sieht so aus:
{
"fields": {
"FIELDNAME": 0
}
}
Dabei ist FIELDNAME
ein String, der auf ein Zahlenfeld verweist, und
Wert ist der Wert, der auf das Feld angewendet werden soll. Der Wert
folgt denselben Regeln wie der Konstruktorwert.
XML
Der XML-Code für ein Zahlenfeld sieht so aus:
<field name="FIELDNAME">0</field>
Das Attribut name
des Knotens field
enthält einen String, der auf eine Zahl verweist.
und der innere text
des Knotens ist die value
, die auf das Feld angewendet werden soll. Die
Für den inneren Textwert gelten dieselben Regeln wie für den Konstruktorwert.
Einschränkungen
Einschränkungen können in der Felddefinition oder mithilfe der Methode setConstraints .
Mindestwert
Mit dem Wert min
wird der kleinste/negative Wert festgelegt, der für das Feld zulässig ist.
enthalten.
Höchstwert
Mit dem Wert max
wird der größte/positivste Wert festgelegt, der für das Feld zulässig ist.
enthalten.
Rundung
precision
rundet den Wert auf das nächste Vielfache der Genauigkeit. Dabei kann es sich um
damit das Feld nur Vielfache von 0, 01, 10, 42 usw .akzeptiert.
Häufige Einschränkungen
Positive Zahlen
Wenn Sie erzwingen möchten, dass Ihr Feld nur positive Zahlen akzeptiert, setzen Sie den Wert min
auf
1.
Ganzzahlen
Wenn Sie erzwingen möchten, dass Ihr Feld nur Ganzzahlen akzeptiert, setzen Sie precision
auf 1.
Zahlenvalidierung erstellen
Der Wert eines Zahlenfelds ist eine Zahl. Daher müssen alle Validatoren number
und
number
, null
oder undefined
zurückgeben.
Hier ist ein Beispiel für eine Validierung, die den Wert in 0 oder 1 ändert. je nachdem, ob der Wert gerade oder gerade ist.
function(newValue) {
return newValue % 2;
}