Pole liczbowe przechowuje liczbę jako value, i ciąg znaków jako text. Jego value
jest zawsze prawidłową liczbą zgodnie z ograniczeniami określonymi dla
pola podczas jego tworzenia. Tekst może być dowolnym ciągiem znaków wpisanym 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 przyjmuje te argumenty:
value powinna być rzutowana na liczbę. Jeśli tak nie jest, używana jest wartość 0.
Serializacja
JSON
Kod JSON dla pola liczbowego wygląda tak:
{
"fields": {
"FIELDNAME": 0
}
}
Gdzie FIELDNAME to ciąg znaków odwołujący się do pola liczbowego, a wartość to wartość, która ma zostać zastosowana do pola. Wartość jest zgodna z tymi samymi regułami co wartość konstruktora.
XML
Kod XML dla pola liczbowego wygląda tak:
<field name="FIELDNAME">0</field>
Atrybut name węzła field zawiera ciąg znaków odwołujący się do pola liczbowego
, a wewnętrzny text węzła to value, która ma zostać zastosowana do pola. Wartość tekstu wewnętrznego jest zgodna z tymi samymi regułami co wartość konstruktora.
Ograniczenia
Ograniczenia można ustawić w definicji pola lub za pomocą funkcji setConstraints.
Wartość minimalna
Wartość min ustawia najmniejszą/najbardziej ujemną wartość, jaką może zawierać pole.
Wartość maksymalna
Wartość max ustawia największą/najbardziej dodatnią wartość, jaką może zawierać pole.
Zaokrąglanie
Wartość precision zaokrągla wartość do najbliższej wielokrotności precyzji. Można jej użyć, aby pole akceptowało tylko wielokrotności wartości 0,01, 10, 42 itp.
Typowe ograniczenia
Liczby dodatnie
Aby wymusić akceptowanie przez pole tylko liczb dodatnich, ustaw wartość min na 1.
Liczby całkowite
Aby wymusić akceptowanie przez pole tylko liczb całkowitych, ustaw wartość precision na 1.
Tworzenie walidatora liczb
Wartość pola liczbowego jest liczbą, więc wszystkie walidatory muszą akceptować 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 nieparzysta czy parzysta.
function(newValue) {
return newValue % 2;
}
