숫자 필드는 숫자를 value
로, 문자열을 text
로 저장합니다. value
은 항상
생성 시 필드가 생성됩니다. 텍스트는 편집기에 입력된 어떤 문자열이든 가능합니다.
숫자 입력란
편집기가 열려 있는 숫자 필드
접힌 블록의 숫자 입력란
생성
JSON
{
"type": "example_number",
"message0": "number: %1",
"args0": [
{
"type": "field_number",
"name": "FIELDNAME",
"value": 100,
"min": 0,
"max": 100,
"precision": 10
}
]
}
자바스크립트
Blockly.Blocks['example_number'] = {
init: function() {
this.appendDummyInput()
.appendField("number:")
.appendField(new Blockly.FieldNumber(100, 0, 100, 10), 'FIELDNAME');
}
};
숫자 생성자는 다음을 받습니다.
value
는 숫자로 변환되어야 합니다. 그렇지 않은 경우 0이 사용됩니다.
직렬화
JSON
숫자 필드의 JSON은 다음과 같습니다.
{
"fields": {
"FIELDNAME": 0
}
}
여기서 FIELDNAME
는 숫자 필드를 참조하는 문자열입니다.
값은 필드에 적용할 값입니다. 값은
생성자 값과 동일한 규칙을 따릅니다.
XML
숫자 필드의 XML은 다음과 같습니다.
<field name="FIELDNAME">0</field>
field
노드의 name
속성에 숫자를 참조하는 문자열이 포함되어 있습니다.
필드이고 노드의 내부 text
는 필드에 적용할 value
입니다. 이
내부 텍스트 값은 생성자 값과 동일한 규칙을 따릅니다.
제약조건
제약 조건은 필드 정의에서 설정하거나 setConstraints 함수를 사용하세요.
최솟값
min
값은 필드에 허용되는 가장 작은 값/가장 음수 값을 설정합니다.
합니다.
최댓값
max
값은 필드에 허용되는 가장 큰 값/가장 양수 값을 설정합니다.
합니다.
반올림
precision
는 값을 가장 가까운 정밀도의 배수로 반올림합니다. 이는
필드에 .01, 10, 42 등의 배수만 허용하는 데 사용됩니다.
일반적인 제약 조건
양수
필드에 양수만 허용되도록 하려면 min
값을 다음으로 설정합니다.
1.
정수
필드에서 정수만 허용하도록 하려면 precision
를 1로 설정합니다.
숫자 검사기 만들기
숫자 필드의 값은 숫자이므로 모든 검사기는 number
및
number
, null
또는 undefined
를 반환합니다.
다음은 값을 0 또는 1로 변경하는 검사기의 예입니다. 홀수인지 짝수인지에 따라 다릅니다.
function(newValue) {
return newValue % 2;
}