我如何获得“.00”形式的数字?
How would I get a number in '.00' form?
我是 C++ 新手,写了一个简单的 GPA 计算器程序。
它基本上会询问您拥有的 类 数量,并计算每个分数的等级。
然后它将字母等级转换为数字。
最后,它总结了数字等级并对其进行平均。
我的问题是,我如何才能将 GPA 结果精确地转换为 4.00、3.00、2.00 等形式?
#include <iostream>
using namespace std;
int main(){
int grades_size;
cout << "Enter the number of classes you are taking: ";
cin >> grades_size;
int *grades;
grades = new int[grades_size];
float *conversion;
conversion = new float[grades_size];
float sum = 0;
cout << endl << "Enter your grade percentage of each class as a number 0-100." << endl;
for (int i = 0; i < grades_size; i++) {
cout << "Grade " << i + 1 << ": ";
cin >> grades[i];
if (grades[i] <= 100 && grades[i] >= 90) {
conversion[i] = 4.00;
} else if (grades[i] < 90 && grades[i] >= 80) {
conversion[i] = 3.00;
} else if (grades[i] < 80 && grades[i] >= 70) {
conversion[i] = 2.00;
} else if (grades[i] < 70 && grades[i] >= 60) {
conversion[i] = 1.00;
} else if (grades[i] < 60 && grades[i] >= 0) {
conversion[i] = 0.00;
}
sum += conversion[i];
}
float GPA = sum / grades_size;
cout << endl << "--- Your GPA is: " << GPA;
}
std::setprecision (in the iomanip header), as well as std::fixed(已包含在 iostream 中),可能在这里有用。
setprecision:设置打印浮点值时的小数精度。
固定:浮点值以固定表示法打印。当与 setprecision 一起使用时,打印的数字总是 那么多位数。
#include <iomanip> // std::setprecision
...
cout << endl << "--- Your GPA is: " << std::fixed << std::setprecision(2) << GPA;
我是 C++ 新手,写了一个简单的 GPA 计算器程序。
它基本上会询问您拥有的 类 数量,并计算每个分数的等级。
然后它将字母等级转换为数字。
最后,它总结了数字等级并对其进行平均。
我的问题是,我如何才能将 GPA 结果精确地转换为 4.00、3.00、2.00 等形式?
#include <iostream>
using namespace std;
int main(){
int grades_size;
cout << "Enter the number of classes you are taking: ";
cin >> grades_size;
int *grades;
grades = new int[grades_size];
float *conversion;
conversion = new float[grades_size];
float sum = 0;
cout << endl << "Enter your grade percentage of each class as a number 0-100." << endl;
for (int i = 0; i < grades_size; i++) {
cout << "Grade " << i + 1 << ": ";
cin >> grades[i];
if (grades[i] <= 100 && grades[i] >= 90) {
conversion[i] = 4.00;
} else if (grades[i] < 90 && grades[i] >= 80) {
conversion[i] = 3.00;
} else if (grades[i] < 80 && grades[i] >= 70) {
conversion[i] = 2.00;
} else if (grades[i] < 70 && grades[i] >= 60) {
conversion[i] = 1.00;
} else if (grades[i] < 60 && grades[i] >= 0) {
conversion[i] = 0.00;
}
sum += conversion[i];
}
float GPA = sum / grades_size;
cout << endl << "--- Your GPA is: " << GPA;
}
std::setprecision (in the iomanip header), as well as std::fixed(已包含在 iostream 中),可能在这里有用。
setprecision:设置打印浮点值时的小数精度。
固定:浮点值以固定表示法打印。当与 setprecision 一起使用时,打印的数字总是 那么多位数。
#include <iomanip> // std::setprecision
...
cout << endl << "--- Your GPA is: " << std::fixed << std::setprecision(2) << GPA;