实型数精度问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 07:36:45
float x;这个变量x在64位机上应该是精确到7位的
请问怎样让它只精确到4位啊?
比如:
double a = 1/3;
float x = a ; 这时x的值是0.3333333,可我只想要x=0.3333,请问应该怎么定义x。
我不是要输出,只要定义变量就可以做到。

可以用预处理
在文件开头用
#define a 0.3333

或者将a的后面两位数值扔掉
如下:
float a=0.333333;
int b;
b=int(a*1000000)/100;
a=float(b)/10000;

printf(%5.4f",x);这条语句就可以输出你想要的值了

定义时不不可以这样的。

不可以。除非你自己写类型