ช่องตัวเลขจะจัดเก็บตัวเลขเป็น value
และสตริงเป็น text
value
จะเป็นตัวเลขที่ถูกต้องเสมอตามที่ระบุไว้ในข้อจำกัดที่ให้กับช่องเมื่อสร้าง ข้อความอาจเป็นสตริงใดก็ได้ที่ป้อนลงในเครื่องมือแก้ไข
ฟิลด์ตัวเลข
ช่องตัวเลขที่เปิดเครื่องมือแก้ไขอยู่
ช่องตัวเลขในบล็อกแบบยุบ
การสร้างวิดีโอ
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
(ไม่บังคับ)- min (ไม่บังคับ)
- max (ไม่บังคับ)
- ความแม่นยํา (ไม่บังคับ)
- โปรแกรมตรวจสอบ (ไม่บังคับ)
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;
}