วิธีใช้ Setprecision ใน C ++

Withi Chi Setprecision Ni C



คุณอาจได้เรียนรู้และศึกษาค่าจุดลอยตัวและสัญกรณ์ทางวิทยาศาสตร์ในวิชาคณิตศาสตร์และฟิสิกส์แล้ว คุณอาจได้เรียนรู้วิธีการปัดเศษตัวเลขทศนิยมแล้ว ยูทิลิตี้ setprecision ใน C ++ มักใช้เพื่อแก้ไขลำดับของตัวเลขที่แสดงภายในลำดับเอาต์พุตจำนวนเต็มทศนิยม มันทำงานเหมือนกับฟังก์ชันการปัดเศษ วิธีการนี้ถูกกำหนดไว้ใน ไลบรารีมาตรฐาน ในบทช่วยสอนนี้ เราจะแสดงวิธีใช้ฟังก์ชัน “setprecision” ของ C++ เอาล่ะ มาเริ่มกันเลย เราต้องเริ่มแอปพลิเคชันเชลล์ของ Ubuntu ผ่าน “Ctrl+Alt+T” เพื่อใช้งาน เราต้องเริ่มต้นการติดตั้งคอมไพเลอร์ C++ ซึ่งก็คือ g++ ในกรณีของเรา ดังนั้นจนถึงขณะนี้แพ็คเกจ apt จะถูกนำมาใช้เพื่อจุดประสงค์นี้ ระบบจะติดตั้ง g++ ในเวลาเพียงไม่กี่วินาที: $ ซูโดะ ฉลาด ติดตั้ง ก++

ตัวอย่าง 01:

ดังนั้นเราจึงเปิดไฟล์ 'new.cc' พร้อมคำสั่ง 'nano' ไฟล์นี้สร้างขึ้นโดยใช้แบบสอบถาม 'สัมผัส' ของเชลล์ ขณะนี้ไฟล์ดังกล่าวเปิดตัวในตัวแก้ไขนาโนเป็นไฟล์เปล่า เราได้เพิ่มไฟล์ส่วนหัว 'iostream' อินพุต-เอาท์พุตที่ด้านบน เพิ่มไลบรารี “iomanip” เพื่อใช้วิธีการ setprecision() ของโค้ดของเรา หลังจากนี้ เราใช้เนมสเปซมาตรฐาน “std” เพื่อให้แน่ใจว่าเราใช้วิธีมาตรฐานของโค้ดและไวยากรณ์ โค้ดโดยรวมได้รับการดำเนินการภายในฟังก์ชัน main() ของโค้ด C++ ไม่มีการใช้ฟังก์ชันอื่นที่ผู้ใช้กำหนดเพื่อจุดประสงค์นี้







ภายในฟังก์ชัน main() เราได้เตรียมใช้งานตัวแปรประเภทคู่ “v” ด้วยค่าสองเท่า คำสั่งมาตรฐาน 'cout' คำสั่งแรกจะแสดงค่าตัวแปรคู่จริง 'v' บนเชลล์โดยไม่มีการอัปเดตใดๆ หลังจากนี้ เราได้ใช้คำสั่ง cout จำนวน 8 รายการเพื่อใช้เมธอด setprecision() ในแต่ละคำสั่ง นี่คือการใช้ setprecision() กับจุดลอยตัวแต่ละตัวของตัวแปร 'v' ทุกครั้ง คุณต้องเข้าใจว่า setprecision ใช้ได้กับค่าที่มากกว่าหรือเท่ากับ 5 เท่านั้น หากค่าจุดลอยตัวมากกว่า 5 ค่านั้นจะเพิ่มขึ้นก่อนหน้านั้น



ตัวอย่างเช่น setprecision() ที่จุดลอยตัวที่ 1 จะปัดเศษ '5' หลังจุด และค่า '4' จะถูกแปลงเป็น 5 ในทำนองเดียวกัน ค่าจุดลอยตัวที่ 2 '2' ไม่สามารถปัดเศษได้ ค่าทศนิยมตัวที่ 3 “7” จะแปลงค่า “2” เป็น “3” ค่าทศนิยมตัวที่ 4 “4” ไม่สามารถปัดเศษได้ และค่าทศนิยมตัวที่ 5 “9” จะแปลงค่า “4” ” ถึง 5 ก่อนหน้านั้น ที่จุด '0' จะแปลงค่า '4' เป็น 5 setprecision() เชิงลบไม่ได้ทำอะไรนอกจากแสดงค่าจริงทั้งหมด ค่าทั้งหมดที่จุดลอยตัว 0 ถึง 5 และ -1, -2 จะถูกแสดงหลังจากใช้ setprecision():







ถึงเวลาคอมไพล์และรันโค้ด setprecision C++ ด้วยคิวรีการคอมไพล์ g++ และคิวรีการดำเนินการ “./a.out” ผลลัพธ์แสดงให้เห็นว่า setprecision(1) ตัวแรกแปลง 4 เป็น 5 setprecision(2) ไม่ได้ทำอะไรเลยและแสดง '4.5' setprecision(3) เพิ่มค่าจาก '4.52' เป็น '4.53' setprecision(4) ไม่ได้ทำอะไรเลยกับค่า '4.527' setprecision(5) จะเพิ่มค่าจาก '4.5274' เป็น '4.5275' setprecision(0) เพิ่มค่าเป็น 5 setprecision(-1) และ setprecision(-2) ไม่ได้ทำอะไรเลยดังที่แสดงด้านล่าง:

$ ก++ ใหม่.ซีซี

$. / ก.ออก



ตัวอย่าง 02:

ลองมาดูตัวอย่างอื่นกัน โค้ดนี้คล้ายกับตัวอย่างข้างต้น โดยมีการเปลี่ยนแปลงในคำสั่ง cout เท่านั้น คำสั่งแรกแสดงค่าดั้งเดิม ในขณะที่สองรายการถัดไปแสดงผลลัพธ์ของ setprecision() ที่จุดลอยตัว 1 และ 5 คำสั่งสุดท้ายแสดงผลลัพธ์ของวิธี setprecision() ที่จุดลอยตัว 9 ซึ่งไม่สามารถใช้งานได้จริง ผลลัพธ์ของจุดลอยตัวที่ 1 และ 5 ค่อนข้างคาดหวัง แต่เราไม่สามารถพูดอะไรเกี่ยวกับจุดลอยตัว 9 ได้ ลองรันไฟล์และตรวจสอบว่าผลลัพธ์ของโค้ดนี้จะเป็นเช่นไร:

#รวม

#รวม

โดยใช้ เนมสเปซ มาตรฐาน ;

ภายใน หลัก ( ) {

สองเท่า ใน = 4.52749 ;

ศาล << 'ค่าก่อนกำหนดความแม่นยำ : ' << ใน << ' \n ' ;

ศาล << กำหนดความแม่นยำ ( 1 ) << 'วาลที่ 1:' << ใน << ' \n ' ;

ศาล << กำหนดความแม่นยำ ( 5 ) << 'วาลตอน 5:' << ใน << ' \n ' ;

ศาล << กำหนดความแม่นยำ ( 9 ) << 'วาลตอน 9:' << ใน << ' \n ' ;

กลับ 0 ;

}

หลังจากการคอมไพล์และดำเนินการโค้ดนี้ เราจะได้ผลลัพธ์ที่ชัดเจนสำหรับการตั้งค่าความแม่นยำในตำแหน่งที่ 1 และ 3 ของค่าทศนิยม “4.52749” ผลลัพธ์ของ setprecision 9 แสดงค่าที่แท้จริงของตัวแปรคู่ “v” อาจเนื่องมาจากค่าของสถานที่ 9 ไม่ได้รับการแก้ไข:

$ ก++ ใหม่.ซีซี

$. / ก.ออก

มาอัปเดตโค้ดอีกครั้งเพื่อแก้ไขค่าของตัวแปร 'v' ดังนั้น หลังจากที่คำสั่ง setprecision() cout แรกถูกใช้ที่ตำแหน่งที่ 1 ของตัวแปร เราได้ใช้ตัวแปรคงที่ใน cout:

#รวม

#รวม

โดยใช้ เนมสเปซ มาตรฐาน ;

ภายใน หลัก ( ) {

สองเท่า ใน = 4.52749 ;

ศาล << 'ค่าก่อนกำหนดความแม่นยำ : ' << ใน << ' \n ' ;

ศาล << กำหนดความแม่นยำ ( 1 ) << 'วาลที่ 1:' << ใน << ' \n ' ;

ศาล << ที่ตายตัว ;

ศาล << กำหนดความแม่นยำ ( 5 ) << 'วาลตอน 5:' << ใน << ' \n ' ;

ศาล << กำหนดความแม่นยำ ( 9 ) << 'วาลตอน 9:' << ใน << ' \n ' ;

กลับ 0 ;

}

หลังจากการคอมไพล์และรันโค้ดที่อัปเดตนี้ เราจะได้ผลลัพธ์คงที่ของ setprecision ที่ตำแหน่ง 9 ของตัวแปร “v” เช่น 4.527490000:

$ ก++ ใหม่.ซีซี

$. / ก.ออก

บทสรุป:

ท้ายที่สุด ทั้งหมดนี้เกี่ยวข้องกับการใช้เมธอด setprecision() ในโค้ด C++ เพื่อปัดเศษและแสดงค่าของตัวแปรคู่ นอกจากนี้เรายังได้อธิบายตัวแปรคงที่ในโค้ดและคุณประโยชน์ของตัวแปรเหล่านั้นด้วย นอกจากนี้เรายังได้นำตัวอย่างที่สำคัญสองตัวอย่างไปใช้เพื่ออธิบายแนวคิดของการตั้งค่าความแม่นยำในภาษา C++ เราหวังว่าคุณจะพบว่าบทความนี้มีประโยชน์ ลองอ่านบทความคำแนะนำเกี่ยวกับ Linux อื่นๆ เพื่อดูเคล็ดลับและบทช่วยสอนเพิ่มเติม