小数并四舍五入为整数
decimals and round up to whole numbers
这是我到目前为止得到的,但我无法弄清楚我的下一步。
当我将我的值除以 3 时,我得到整数,但我希望它以一个小数显示,我不知道如何。
完成后,我想根据其值向上或向下舍入小数。如果是 3.5 或更高,它应该变成 4,如果是 3.4 或更低,它应该是 3。
void MainWindow::on_pushButton_clicked(){
int paragraph = ui->lineEdit->text().toInt();
int section = ui->lineEdit_2->text().toInt();
int lines = ui->lineEdit_3->text().toInt();
int sum = (paragraph * (lines + 1) -(section * lines));
ui->label_4->setText(QString::number(sum/3));
}
您正在除以积分器,因此得到整数。所以小数部分被截断。
int a = 11;
a = a / 3; // a is 3 now
double b = 11;
b = b / 3; // b is 3.6666... now
double c = a / 3; // c is 3 now
c = b / 3; // c is 3.6666... now
运算符的返回类型,如+
、-
、*
或/
由其中的第一个对象决定。
只需使用 qRound(double(sum)/3.0)
或 qRound(double(sum)/3)
即可获得舍入值。
如果要显示小数点后 1 位的结果,请使用 QString::number(double(sum)/3.0, 'f', 1)
。
在使用C++之前,请先学习C基础知识(阅读K&R的关键部分)。并在使用Qt之前学习C++。
如果要向上和向下舍入,可以使用C++数学函数ceil
和floor
。 ceil
四舍五入,floor
四舍五入。
对于显示,您可以指定QString::number(sum/3, 'f', 1)
指定您的数字,显示格式参数(在 QString 文档中有对此的解释),然后最终将精度设置为 2。
相关文章:
- 如何反转整数参数包
- enum是C++中的宏变量还是整数变量
- 努力将整数转换为链表。不知道我在这里做错了什么
- 整数不会重复超过随机数
- 在C++中手动调整数组大小
- 检查输入是否不是整数或数字
- C++使用整数的压缩数组初始化对象
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- 如何只允许用户输入正整数
- 我的程序不断四舍五入到最接近的整数
- 四舍五入到间隔不均匀的整数
- 如果我想将一个无符号整数四舍五入到最接近的更小或等于偶数的整数,我可以除以2然后乘以2吗
- std::accumulate四舍五入为整数
- 小数并四舍五入为整数
- 将无符号整数四舍五入为2的幂序列
- 四舍五入并将其重新转换为整数
- 寻找QT函数将qint64类型的变量(整数)四舍五入到最接近的十
- 如何四舍五入的总成本(双)到最接近的整数