仅打印数字的小数位
Printing only decimal places of a number
我想知道你怎么只能打印数字的小数位? 我需要将 10.30 打印为 10m,30cm,我不知道该怎么做。 我试图用谷歌搜索解决方案,但没有找到任何有用的东西。
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double P;
cin >> P;
cout << fixed << setprecision(0) << P << "m," << setprecision(2) << P << "cm";
return 0;
}
给定一个double
P
,假设你想将cm
的任何分数四舍五入一半,这是一种方法:
unsigned long cm = std::round(P * 100); // ToDo - check the possibility of overflow
std::cout << cm / 100 << "m, " << cm % 100 << "cm";
我使用整数算术来提取m
,并使用模算术来提取cm
。根据需要增强以处理负面P
。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 获取数字小数部分的最佳方法
- C 如何在小数系统中添加两个数字
- 如何设置数字格式以显示C 中的所有小数位数
- 如何解析小数分离器为结肠的数字的字符串表示:
- 获取存储为字符串的数字的小数部分
- 将十进制数字截断为最接近的4个小数和断言
- C++不显示小数位数的数字
- C++ 将数字的小数部分转换为整数
- 显示带小数位数的数字,而不是整数
- 你如何在数字上添加 2 位小数
- 在小数秒内仅用 3 位数字格式化 posix 时间
- 如何从 9 和 90 中提取 2.9 和 2.09,即获取数字等于最大编号的小数部分.二分位数之后的数字
- 两个数字相减时的小数
- 如何在C++中存储数字而不截断小数
- 使用'int'数据类型时出错,即使数字不是小数
- 用两个小数求3个数字的平均值(不舍入!)
- 为什么小数后面的数字都是零
- 由正整数或正小数组成的字符串,转换为I数字格式
- 如何使用std::cout停止输出像5.0这样的数字的小数和零?