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 | ตัด ส่งคืนจำนวนเต็มหลังจากทิ้งหลักเศษส่วน |