ช่องตัวเลข

ช่องตัวเลขจะจัดเก็บตัวเลขเป็น value และสตริงเป็น text value จะเป็นตัวเลขที่ถูกต้องเสมอตามที่ระบุไว้ในข้อจำกัดที่ให้กับช่องเมื่อสร้าง ข้อความอาจเป็นสตริงใดก็ได้ที่ป้อนลงในเครื่องมือแก้ไข

ฟิลด์ตัวเลข

บล็อกที่มีป้ายกำกับ "number:" และช่องตัวเลขที่ตั้งค่าเป็น 100

ช่องตัวเลขที่เปิดเครื่องมือแก้ไขอยู่

บล็อกเดียวกับฟิลด์ที่แก้ไข

ช่องตัวเลขในบล็อกแบบยุบ

บล็อกเดียวกันหลังจากยุบ โดยมีป้ายกำกับ "number: 100" และขอบด้านขวาที่ขรุขระเพื่อแสดงว่าถูกยุบอยู่

การสร้างวิดีโอ

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 ควรแคสต์เป็นตัวเลข หากไม่มี ระบบจะใช้ 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;
}

GIF แบบเคลื่อนไหวที่แสดงการทำงานของโปรแกรมตรวจสอบ เมื่อผู้ใช้พิมพ์ 10 และคลิกที่อื่น ระบบจะตั้งค่าช่องเป็น 0 เมื่อผู้ใช้พิมพ์ 11 แล้วคลิกที่อื่น ระบบจะตั้งค่าช่องเป็น 1