ช่องตัวเลขจะเก็บตัวเลขเป็น 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
ที่ไม่บังคับ- (ไม่บังคับ) นาที
- เพิ่มสูงสุด (ไม่บังคับ)
- ความแม่นยำที่ไม่บังคับ
- โปรแกรมตรวจสอบที่ไม่บังคับ
value
ควรแคสต์เป็นตัวเลข หากไม่ใช่ 0 จะถูกนำมาใช้
การเรียงอันดับ
JSON
JSON สำหรับช่องตัวเลขมีลักษณะดังนี้
{
"fields": {
"FIELDNAME": 0
}
}
โดยที่ FIELDNAME
คือสตริงที่อ้างอิงช่องตัวเลข และ
value คือค่าที่จะใช้กับฟิลด์ ค่า
เป็นไปตามกฎเดียวกันกับค่าตัวสร้าง
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;
}