Zahlenfelder

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:

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;
}