ความแม่นยำของตัวเลขทศนิยม คือความแม่นยำที่ค่าทศนิยมสามารถเก็บค่าหลังทศนิยมได้
ตัวอย่างเช่น 10/6 =1.6666666… สิ่งเหล่านี้มีทศนิยมที่เกิดซ้ำซึ่งสามารถใช้พื้นที่หน่วยความจำอนันต์ในการจัดเก็บได้
ดังนั้นเพื่อหลีกเลี่ยงหน่วยความจำล้นในกรณีเช่นนี้ คอมไพเลอร์จึงตั้งค่าขีดจำกัดความแม่นยำให้กับตัวเลข สำหรับค่าทศนิยมใน C ++ ความแม่นยำนี้ถูกตั้งค่าเป็น 6-7 หลักหลังจากนั้น หากทศนิยมเกิดซ้ำ ค่านี้จะถูกยกเลิก
ดังนั้น เพื่อหลีกเลี่ยงความสูญเสียที่สำคัญเมื่อการละทิ้งนี้เกิดขึ้น มีวิธีการและไลบรารีที่สนับสนุนความแม่นยำคือค่าทศนิยม เราจะมาพูดคุยกันที่นี่
ชั้น()
ฟังก์ชัน floor() เป็นฟังก์ชันปัดเศษที่ปัดเศษตัวเลขให้เป็นค่าจำนวนเต็มที่ใกล้เคียงที่สุดซึ่งน้อยกว่าตัวเลข
โดยจะส่งคืนค่าจำนวนเต็มซึ่งน้อยกว่าส่วนจำนวนเต็มของจำนวนทศนิยมหนึ่งค่าเสมอ
ห้องสมุด:math.h
ตัวอย่าง
#include<iostream> #include<math.h> using namespace std; int main() { float number1 = 0.435 , number2 = 234.2342, number3 = -3.31132, number4 = -0.432; cout<<"Values are : \n"; cout<<"Number 1 : "<<floor(number1)<<endl; cout<<"Number 2 : "<<floor(number2)<<endl; cout<<"Number 3 : "<<floor(number3)<<endl; cout<<"Number 4 : "<<floor(number4)<<endl; return 0; }
ผลลัพธ์
Values are : Number 1 : 0 Number 2 : 234 Number 3 : -4 Number 4 : -1
ceil()
ฟังก์ชัน ceil() เป็นฟังก์ชันปัดเศษที่ปัดเศษตัวเลขให้เป็นค่าจำนวนเต็มที่ใกล้เคียงที่สุดซึ่งมากกว่าตัวเลข
โดยจะส่งคืนค่าจำนวนเต็มซึ่งมากกว่าส่วนจำนวนเต็มของจำนวนทศนิยมหนึ่งค่าเสมอ
ห้องสมุด:math.h
ตัวอย่าง
#include<iostream> #include<math.h> using namespace std; int main() { float number1 = 0.435 , number2 = 234.2342, number3 = -3.31132, number4 = -0.432; cout<<"Values are : \n"; cout<<"Number 1 : "<<ceil(number1)<<endl; cout<<"Number 2 : "<<ceil(number2)<<endl; cout<<"Number 3 : "<<ceil(number3)<<endl; cout<<"Number 4 : "<<ceil(number4)<<endl; return 0; }
ผลลัพธ์
Values are : Number 1 : 1 Number 2 : 235 Number 3 : -3 Number 4 : -0
รอบ()
ฟังก์ชัน round() เป็นฟังก์ชันปัดเศษที่ปัดเศษตัวเลขให้เป็นค่าจำนวนเต็มที่ใกล้เคียงที่สุดซึ่งอาจมากกว่าหรือน้อยกว่าตัวเลขได้
โดยจะส่งคืนค่าจำนวนเต็มซึ่งสามารถมากกว่าหนึ่ง/น้อยกว่าส่วนจำนวนเต็มของจำนวนทศนิยมได้หนึ่งส่วน
ห้องสมุด:math.h
ตัวอย่าง
#include<iostream> #include<math.h> using namespace std; int main() { float number1 = 0.435 , number2 = 234.5612, number3 = -3.31132, number4 = -0.9132; cout<<"Values are : \n"; cout<<"Number 1 : "<<ceil(number1)<<endl; cout<<"Number 2 : "<<ceil(number2)<<endl; cout<<"Number 3 : "<<ceil(number3)<<endl; cout<<"Number 4 : "<<ceil(number4)<<endl; return 0; }
ผลลัพธ์
Values are : Number 1 : 1 Number 2 : 235 Number 3 : -3 Number 4 : -0
setprecision()
ฟังก์ชัน setprecision() ส่งคืนค่าของ flaot ที่ถูกต้องไม่เกินทศนิยม n ตำแหน่ง N คือพารามิเตอร์ที่ส่งผ่านไปยังฟังก์ชัน setprecission
สำหรับการทำงานนั้นจะใช้ค่าคงที่
ห้องสมุด: iomanip
ตัวอย่าง
#include<iostream> #include<iomanip> using namespace std; int main() { float number1 = 0.435 , number2 = 234.5612, number3 = -3.31132, number4 = -0.9132; cout<<"Nubmer 1 correct upto 0 decimals "<<fixed<<setprecision(0)<<number1<<endl; cout<<"Nubmer 2 correct upto 1 decimals "<<fixed<<setprecision(1)<<number2<<endl; cout<<"Nubmer 3 correct upto 4 decimals "<<fixed<<setprecision(4)<<number3<<endl; cout<<"Nubmer 4 correct upto 3 decimals "<<fixed<<setprecision(3)<<number4<<endl; }
ผลลัพธ์
Nubmer 1 correct upto 0 decimals 0 Nubmer 2 correct upto 1 decimals 234.6 Nubmer 3 correct upto 4 decimals -3.3113 Nubmer 4 correct upto 3 decimals -0.913