相关疑难解决方法(0)

C:将double转换为float,保留小数点精度

我想在C中将double转换为float,但希望尽可能保留小数点而不做任何更改......

例如,假设我有

   double d = 0.1108;
   double dd = 639728.170000;
   double ddd = 345.2345678
Run Code Online (Sandbox Code Playgroud)

现在纠正我,如果我错了,我知道浮点精度大约是点后的5个数字.我可以在双点之后得到那五个数字吗?以上结果如下:

   float f = x(d);
   float ff = x(dd);
   float fff = x(ddd);

   printf("%f\n%f\n%f\n", f, ff, fff);
Run Code Online (Sandbox Code Playgroud)

它应该打印

   0.1108
   639728.17000
   345.23456
Run Code Online (Sandbox Code Playgroud)

精度限制之后的所有数字(我假设为5)将被截断.

c floating-point double c89

19
推荐指数
2
解决办法
11万
查看次数

标签 统计

c ×1

c89 ×1

double ×1

floating-point ×1