head:
今天做笔试题,突然要返回的浮点数要求保留两位,当时就想有什么函数,实在想不到,只知道打印可以采用%.2f的形式,当时直接写了一个函数,将浮点数,转变成字符串的形式,去四舍五入,再转换成浮点数,,,极其无奈
搜了一下博客,学习了一下,有了思路自己总结一个函数,万一以后用到。
#include<iostream>
#include<cmath>
using namespace std;
//就这个函数
//将浮点数 保留位数的多一位 ,放大到整数
//+5会自动进位
// /10会将最后一位消除
// 再讲浮点数缩小回去
double d_exist_n(double num,int n) {
int a = ((num * pow(10,n+1)) + 5)/10;
return (double)a / pow(10,n);
}
int main() {
double num = 99.3453;
cout << fun(num,2);
}