Pole liczbowe przechowuje liczbę jako value
, a ciąg znaków jako text
. Jego value
jest zawsze prawidłową liczbą zgodnie z ograniczeniami nadanymi polu podczas tworzenia. Tekst może być dowolnym ciągiem znaków wprowadzonym 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 liczby przyjmuje te wartości:
Wartość value
powinna być liczbą. Jeśli nie, użyta zostanie wartość 0.
Publikacja w odcinkach
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órą należy zastosować w polu. Wartość
jest zgodna z tymi samymi regułami 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 odwołujący się do pola liczbowego, a wewnętrzny element text
węzła to value
, który ma zostać zastosowany do pola. Wartość tekstu wewnętrznego 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
określa najmniejszą/najbardziej ujemną wartość, jaką może zawierać pole.
Wartość maksymalna
Wartość max
określa największą/najbardziej dodatnią wartość, jaką może zawierać pole.
Zaokrąglanie
Funkcja precision
zaokrągla wartość do najbliższej wielokrotności precyzji. Można go użyć, aby pole akceptowało tylko wielokrotności wartości 0,01, 10, 42 itp.
Typowe ograniczenia
Liczby dodatnie
Aby wymusić akceptowanie w polu tylko liczb dodatnich, ustaw wartość min
na 1.
Liczby całkowite
Aby wymusić akceptowanie w polu tylko liczb całkowitych, ustaw wartość precision
na 1.
Tworzenie weryfikatora numerów
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 była ona nieparzysta czy parzysta.
function(newValue) {
return newValue % 2;
}