ที่นี่เราจะเห็นสามฟังก์ชั่น ฟังก์ชันเหล่านี้คือ Rint(), rintf() และ rintl() ฟังก์ชันเหล่านี้ใช้เพื่อแปลงค่าทศนิยมให้เป็นรูปแบบโค้งมน
ฟังก์ชัน rint()
ฟังก์ชันนี้ใช้สำหรับการปัดเศษค่าทศนิยมให้เป็นจำนวนเต็ม ไวยากรณ์เป็นเหมือนด้านล่าง หากผลลัพธ์อยู่นอกประเภทการส่งคืน ข้อผิดพลาดของโดเมนอาจเกิดขึ้น เมื่ออาร์กิวเมนต์เป็น 0 หรืออนันต์ อาร์กิวเมนต์จะคืนค่าเป็น unmodified
float rint(float argument) double rint(double argument) long double rint(long double argument)
ตัวอย่าง
#include <cmath> #include <iostream> using namespace std; main() { double a, b, x, y; x = 53.26; y = 53.86; a = rint(x); b = rint(y); cout << "The value of a: " << a << endl; cout << "The value of b: " << b; }
ผลลัพธ์
The value of a: 53 The value of b: 54
ฟังก์ชัน rintf()
สิ่งนี้เหมือนกับ rint แต่ความแตกต่างเพียงอย่างเดียวคือพารามิเตอร์และประเภทการส่งคืนทั้งหมดเป็นประเภท float ในตัวอย่างนี้ เราจะใช้วิธี fesetround() เพื่อระบุประเภทรอบ
float rintf(float argument)
ตัวอย่าง
#include <cmath> #include <fenv.h> #include <iostream> using namespace std; main() { double a, b, x, y; x = 53.26; y = 53.86; fesetround(FE_UPWARD); a = rintf(x); fesetround(FE_DOWNWARD); b = rintf(y); cout << "The value of a: " << a << endl; cout << "The value of b: " << b; }
ผลลัพธ์
The value of a: 54 The value of b: 53
ฟังก์ชัน rintl()
สิ่งนี้เหมือนกับ rint แต่ความแตกต่างเพียงอย่างเดียวอยู่ที่นี่ พารามิเตอร์และประเภทการส่งคืนทั้งหมดเป็นประเภท long double ในตัวอย่างนี้ เราจะใช้วิธี fesetround() เพื่อระบุประเภทรอบ
long double rintl(long double argument)
ตัวอย่าง
#include <cmath> #include <fenv.h> #include <iostream> using namespace std; main() { double a, b, x, y; x = 53547.55555555555; y = 53547.55555555523; fesetround(FE_UPWARD); a = rintl(x); fesetround(FE_DOWNWARD); b = rintl(y); cout << "The value of a: " << a << endl; cout << "The value of b: " << b; }
ผลลัพธ์
The value of a: 53548 The value of b: 53547