Dart Programming - ตัวเลข

หมายเลขโผสามารถจำแนกได้เป็น -

  • int- จำนวนเต็มขนาดตามอำเภอใจ int ชนิดข้อมูลใช้แทนจำนวนเต็ม

  • double- ตัวเลขทศนิยม 64 บิต (ความแม่นยำสองเท่า) ตามที่ระบุโดยมาตรฐาน IEEE 754 double ชนิดข้อมูลใช้เพื่อแสดงตัวเลขเศษส่วน

num ประเภทได้รับการสืบทอดโดย int และ doubleประเภท dart core library ช่วยให้สามารถดำเนินการกับค่าตัวเลขได้มากมาย

ไวยากรณ์สำหรับการประกาศตัวเลขมีดังต่อไปนี้ -

int var_name;      // declares an integer variable 
double var_name;   // declares a double variable

ตัวอย่าง

void main() {
   // declare an integer
   int num1 = 10;             
     
   // declare a double value
   double num2 = 10.50;  

   // print the values
   print(num1);
   print(num2);
}

มันจะให้ผลลัพธ์ดังต่อไปนี้ -

10 
10.5

Note - Dart VM จะทำให้เกิดข้อยกเว้นหากกำหนดค่าเศษส่วนให้กับตัวแปรจำนวนเต็ม

การแยกวิเคราะห์

parse()ฟังก์ชันคงที่ช่วยให้สามารถแยกวิเคราะห์สตริงที่มีลิเทอรัลตัวเลขเป็นตัวเลขได้ ภาพประกอบต่อไปนี้แสดงให้เห็นเช่นเดียวกัน -

void main() { 
   print(num.parse('12')); 
   print(num.parse('10.91')); 
}

รหัสด้านบนจะส่งผลให้เกิดผลลัพธ์ต่อไปนี้ -

12 
10.91

ฟังก์ชันแยกวิเคราะห์จะพ่นไฟล์ FormatExceptionหากมีการส่งผ่านค่าอื่น ๆ ที่ไม่ใช่ตัวเลข รหัสต่อไปนี้แสดงวิธีการส่งค่าตัวอักษรและตัวเลขไปยังไฟล์parse() ฟังก์ชัน

ตัวอย่าง

void main() { 
   print(num.parse('12A')); 
   print(num.parse('AAAA')); 
}

รหัสด้านบนจะส่งผลให้เกิดผลลัพธ์ต่อไปนี้ -

Unhandled exception: 
FormatException: 12A 
#0 num.parse (dart:core/num.dart:446) 
#1 main (file:///D:/Demos/numbers.dart:4:13) 
#2 _startIsolate.<anonymous closure> (dart:isolatepatch/isolate_patch.dart:261) 
#3 _RawReceivePortImpl._handleMessage (dart:isolatepatch/isolate_patch.dart:148)

คุณสมบัติจำนวน

ตารางต่อไปนี้แสดงคุณสมบัติที่รองรับโดยหมายเลขโผ

ซีเนียร์ No คุณสมบัติและคำอธิบาย
1 hashcode

ส่งคืนรหัสแฮชสำหรับค่าตัวเลข

2 isFinite

เป็นจริงถ้าจำนวน จำกัด มิฉะนั้นเท็จ

3 isInfinite

เป็นจริงถ้าจำนวนเป็นค่าอินฟินิตี้บวกหรืออินฟินิตี้ลบ มิฉะนั้นเท็จ

4 isNan

True ถ้าตัวเลขเป็นค่า Not-a-Number สองเท่า มิฉะนั้นเท็จ

5 isNegative

จริงถ้าตัวเลขเป็นลบ มิฉะนั้นเท็จ

6 ลงชื่อ

ส่งกลับลบหนึ่งศูนย์หรือบวกหนึ่งขึ้นอยู่กับเครื่องหมายและค่าตัวเลขของตัวเลข

7 isEven

ส่งคืนจริงหากจำนวนนั้นเป็นเลขคู่

8 isOdd

ส่งคืนจริงถ้าตัวเลขนั้นเป็นจำนวนคี่

วิธีการจำนวน

ด้านล่างนี้เป็นรายการวิธีการที่ใช้กันทั่วไปซึ่งรองรับโดยตัวเลข -

ซีเนียร์ No วิธีการและคำอธิบาย
1 หน้าท้อง

ส่งคืนค่าสัมบูรณ์ของตัวเลข

2 เพดาน

ส่งคืนจำนวนเต็มที่น้อยที่สุดไม่น้อยกว่าจำนวน

3 เปรียบเทียบกับ

เปรียบเทียบกับหมายเลขอื่น

4 ชั้น

ส่งคืนจำนวนเต็มที่มากที่สุดไม่เกินจำนวนปัจจุบัน

5 ส่วนที่เหลือ

ส่งคืนเศษที่เหลือที่ถูกตัดทอนหลังจากหารทั้งสองจำนวน

6 รอบ

ส่งคืนจำนวนเต็มที่ใกล้เคียงกับตัวเลขปัจจุบัน

7 เป็นสองเท่า

ส่งคืนค่าเทียบเท่าสองเท่าของจำนวน

8 toInt

ส่งคืนค่าเทียบเท่าจำนวนเต็มของจำนวน

9

ส่งกลับการแทนค่าสตริงที่เทียบเท่าของตัวเลข

10 ตัด

ส่งคืนจำนวนเต็มหลังจากทิ้งหลักเศษส่วน