仅打印数字的小数位

Printing only decimal places of a number

本文关键字:小数 数字 打印      更新时间:2023-10-16

我想知道你怎么只能打印数字的小数位? 我需要将 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;
}

给定一个doubleP,假设你想将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