c++编程中怎样使得一个数的值保留小数点后固定位数,不是输入输出情况,比如:

int main(){
float a=1.111111111111111111111;
float b=a;//怎样让这里的a只取六位???????强调不是输入输出情况。

这个函数function(a) 的返回值为 a保留小数点后1位。需要时调用即可

#include <stdio.h>

double function(double a)
{
char buffer[128];
double ret;
sprintf(buffer, "%.1lf", a);
sscanf(buffer, "%lf", &ret);
return ret;
}

int main()
{
double a, b;
printf("Input a double number!\n");
scanf("%lf", &a);

printf("%lf\n", function(a));
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-12
你是不是想将b/1.11111111111111111111111,变成b/1.111111?
1.将a=1.111111,但是不能保证a就是1.111111;
2.按位与,a&11111111111110000000000,这里的1,和0 的个数和位置自己掌握,看你想要什么结果!需看你的编译器默认小数点后面保留的位数!灵活把握!来自:求助得到的回答本回答被网友采纳
第1个回答  2012-12-12
是不能指定只用6位参与运算的,你可以自己处理比如乘以1000000取整数位
第2个回答  2012-12-11
sprintf(&b,"%.6f",a);

c++编程中怎样使得一个数的值保留小数点后固定位数,不是输入输出情况...
这个函数function(a) 的返回值为 a保留小数点后1位。需要时调用即可 include <stdio.h> double function(double a){ char buffer[128];double ret;sprintf(buffer, "%.1lf", a);sscanf(buffer, "%lf", &ret);return ret;} int main(){ double a, b;printf("Input a double number!\\n...

C++中,如何保留指定的小数位,不是COUT输出~
1 要将实数f保留n为小数位,先f*10^n,相当于小数点右移n位;2 将变量取整,舍去多余的小数位;3 结果除以10^n,等同于小数点左移n位,实现目的。其中1 2之间,如果有舍入需求,可以先做舍入,再取整。考虑到移动小数点时可能溢出导致结果不精确,可以保持原数不动,只取小数部分做操作,结果...

C++语言 对printf函数如何实现保留小数点后一位的效果
【说明】printf("%m.nf",a)表示输出浮点型变量a,并保留小数点后n位(整数部分正常输出,小数点后不足部分按0输出),m指输出变量的总位数(十进制,小数点占用1位),当小于或者等于实际需要输出的位数时,m不起任何作用,当m大于实际需要输出的位数时,因为输出采用左对齐,会在右方空格或者补零...

C++里 要使输出的变量都保留小数点后1位 该怎么限制
在输出前面加上 cout << setiosflags(ios::fixed) << setprecision(1) 就行了,setprecision(1) 就是设置对应的精度,还要加上对应的头文件 #include。include include using namespace std;include int main(){ double d = 12.5638;cout << setiosflags(ios::fixed)<< setprecision(1)...

c++中如何控制输出小数点后多少位,我这个只能输出有效数字多少位的...
测试代码如下,有问题hi我,注释比较清楚了,需要showpoint确保总是显示小数 include include using namespace std;int main()\/\/ 控制小数点右边位数 { double n = 2;cout<< showpoint \/\/总是显示小数点 << setprecision(3)\/\/讲浮点精度设置为n(要#include )< 评论 0 0 加载更多 ...

C++如何纪要强制输出小数点并且控制有效位数
我想到的办法是把待输出的数乘以10^5,然后取整,然后再除以10^5 double a=3.1415926;int b=a\/100000;cout<

...中输出时怎样控制小数点后的位数,请举例说明保留1、2、3、4位小数...
在C的编程中,总会遇到浮点数的处理,有的时候,我们只需要保留2位小数作为输出的结果,这时候,问题来了,怎样才能让cout输出指定的小数点后保留位数呢?在C语言的编程中,我们可以这样实现它:[cpp] view plain copy printf("%.2f", sample);在C++中,是没有格式符的,我们可以通过使用setprecision...

c++输出中怎么控制小数点后面的位数?
1、首先,定义三个实数型变量,保存计算的数值。2、接着,给x和y赋值。3、对x和y进行除法运算,保存在变量z中。4、最后,输出变量z的值。5、运行程序,可以看到计算得到的数值,小数点后位数是默认的。6、可以在%之后,添加数值的小数点后位数。7、运行程序,输出实数的小数点后位数,按照设定的值...

c++中输出结果保留小数问题
一楼所说的是用printf() 如果用cout的话可以用下面这种方式: #include<iomanip> \/\/包含大量用于控制输出格式的函数 cout<<setprecision(1) \/\/设置浮点数的精度 cout<<fixed \/\/固定输出小数的宽度 如: float b=5.000;cout<<fixed<<setprecision(1)<...

c++编程如何保留小数?
输出保留小数?使用double或float关键字定义浮点型变量 如果要输出特定小数位数,可以用printf

相似回答