Pola liczbowe

Pole z liczbą zawiera liczbę, która jest wartością value, a ciąg znaków jako text. Jest value jest zawsze prawidłową liczbą zdefiniowaną przez ograniczenia podane w funkcji w polu, w którym tworzysz dane. Tekstem reklamy może być dowolny ciąg znaków wpisany w edytorze.

Pole liczbowe

Pole liczbowe z otwartym edytorem

Pole liczbowe w zwiniętym bloku

na podstawie trendów

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

Konstruktor liczb wykorzystuje takie funkcje:

Element value powinien rzutować na liczbę. W przeciwnym razie zostanie użyta wartość 0.

Serializacja

JSON

Kod JSON pola liczby wygląda tak:

{
  "fields": {
    "FIELDNAME": 0
  }
}

Gdzie FIELDNAME jest ciągiem znaków odwołującym się do pola liczbowego, Argument wartość to wartość, która ma zostać zastosowana do pola. Wartość ma te same reguły co wartość konstruktora.

XML

Kod XML pola liczbowego wygląda tak:

<field name="FIELDNAME">0</field>

Atrybut name węzła field zawiera ciąg znaków odnoszący się do liczby , a wewnętrznym text węzła to value, który ma zostać zastosowany do pola. wartość wewnętrzna tekstu podlega tym samym regułom co wartość konstruktora.

Ograniczenia

Ograniczenia można ustawić w definicji pola lub za pomocą funkcji setConstraints .

Wartość minimalna

Wartość min ustawia najmniejszą/największą wartość ujemną, do której to pole jest dozwolone zawierają.

Wartość maksymalna

Wartość max ustawia największą/najbardziej dodatnią wartość, do której to pole może być używane zawierają.

Zaokrąglenie

precision zaokrągla wartość do najbliższej wielokrotności precyzji. Może to być używane do tego, że pole akceptuje tylko wielokrotności liczby 0,01, 10, 42 itd.

Typowe ograniczenia

Liczby dodatnie

Aby wymusić akceptowanie tylko liczb dodatnich, ustaw wartość min na 1.

Całkowite

Aby wymusić akceptowanie tylko liczb całkowitych, ustaw precision na 1.

Tworzenie walidatora liczb

Wartość pola liczbowego jest liczbą, więc wszystkie walidatory muszą zaakceptować atrybuty number i zwraca number, null lub undefined.

Oto przykład walidatora, który zmienia wartość na 0 lub 1 w zależności od tego, czy wartość była parzysta czy nieparzysta.

function(newValue) {
  return newValue % 2;
}