ช่องตัวเลขจะเก็บตัวเลขเป็น value
และสตริงเป็น text
value
ของ URL จะเป็นตัวเลขที่ถูกต้องตามที่กำหนดโดยข้อจำกัดที่กำหนดให้กับช่องขณะสร้างเสมอ ข้อความของ URL จะเป็นสตริงใดๆ ที่ป้อนลงในเครื่องมือแก้ไขก็ได้
ช่องตัวเลข
ช่องตัวเลขที่เปิดเครื่องมือแก้ไขอยู่
ช่องตัวเลขบนบล็อกที่ยุบอยู่
การสร้างวิดีโอ
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');
}
};
ตัวสร้างตัวเลขจะดำเนินการต่อไปนี้
value
(ไม่บังคับ)- (ไม่บังคับ) นาที
- max (ไม่บังคับ)
- ความแม่นยำ (ไม่บังคับ)
- validatorที่ไม่บังคับ
value
ควรแคสต์ไปยังตัวเลข หากไม่ใช่ 0 ระบบจะใช้
การทำให้เป็นอนุกรม
JSON
JSON สำหรับช่องตัวเลขจะมีลักษณะดังนี้
{
"fields": {
"FIELDNAME": 0
}
}
โดย FIELDNAME
เป็นสตริงที่อ้างอิงช่องตัวเลข และค่าคือค่าที่จะนำไปใช้กับช่องนี้ ค่าดังกล่าวเป็นไปตามกฎเดียวกันกับค่าตัวสร้าง
XML
ช่อง XML สำหรับตัวเลขจะมีลักษณะดังนี้
<field name="FIELDNAME">0</field>
แอตทริบิวต์ name
ของโหนด field
มีสตริงที่อ้างอิงช่องตัวเลข และ text
ภายในของโหนดคือ value
ที่จะใช้กับช่องนี้ ค่าข้อความภายในเป็นไปตามกฎเดียวกันกับค่าของตัวสร้าง
ข้อจำกัด
คุณจะกำหนดข้อจำกัดได้ในคำจำกัดความช่องหรือโดยใช้ฟังก์ชัน setConstraints
ค่าต่ำสุด
ค่า min
จะกำหนดค่าที่น้อยที่สุด/เป็นค่าลบที่สุดที่ช่องนั้นแสดงได้
ค่าสูงสุด
ค่า max
จะกำหนดค่าสูงสุด/บวกมากที่สุดที่ช่องนั้นอนุญาตให้มีได้
ปัดเศษ
precision
จะปัดเศษค่าให้เป็นจำนวนทวีคูณที่ใกล้เคียงที่สุดของความแม่นยํา สามารถใช้เพื่อทำให้ช่องนี้ยอมรับเฉพาะพหุคูณของ .01, 10, 42 ฯลฯ
ข้อจำกัดทั่วไป
ตัวเลขจำนวนบวก
หากต้องการบังคับให้ช่องยอมรับเฉพาะตัวเลขจำนวนบวก ให้ตั้งค่า min
เป็น 1
จำนวนเต็ม
หากต้องการบังคับให้ช่องยอมรับเฉพาะจำนวนเต็ม ให้ตั้งค่า precision
เป็น 1
การสร้างเครื่องมือตรวจสอบหมายเลข
ค่าของช่องตัวเลขเป็นตัวเลข ดังนั้นโปรแกรมตรวจสอบจะต้องยอมรับ number
และแสดงผล number
, null
หรือ undefined
นี่คือตัวอย่างของโปรแกรมตรวจสอบที่เปลี่ยนค่าเป็น 0 หรือ 1 ขึ้นอยู่กับว่าค่าดังกล่าวเป็นเลขคี่หรือเลขคู่
function(newValue) {
return newValue % 2;
}