ใน C++ ขนาดของเลขทศนิยมคือ 4 ไบต์หรือ 8 ไบต์ จึงสามารถเก็บทศนิยมได้ไม่กี่ตำแหน่ง ตัวอย่างเช่น 1/3 =0.333333…… จนถึงอนันต์ หากเราเก็บไว้ในตัวแปรประเภทลอยตัว มันจะเก็บตัวเลขที่สำคัญบางตัว ค่าเริ่มต้นคือ 6 ดังนั้นโดยปกติตัวเลขทศนิยมใน C++ สามารถแสดงทศนิยมได้สูงสุด 6 ตำแหน่ง
เราเปลี่ยนขนาดของความแม่นยำได้โดยใช้ setprecision มีอยู่ในไฟล์ส่วนหัว iomanip มาดูตัวอย่างกันเพื่อให้ได้แนวคิด
โค้ดตัวอย่าง
#include <iostream> #include <iomanip> using namespace std; int main() { double x = 2.3654789d; cout << "Print up to 3 decimal places: " << setprecision(3) << x << endl; cout << "Print up to 2 decimal places: " << setprecision(2) << x << endl; cout << "Print up to 7 decimal places: " << setprecision(7) << x << endl; }
ผลลัพธ์
Print up to 3 decimal places: 2.365 Print up to 2 decimal places: 2.37 Print up to 7 decimal places: 2.3654789