gpt4 book ai didi

c - 为什么我收到从 'double' 到 'float' 的转换,可能会丢失数据警告?(c)

转载 作者:行者123 更新时间:2023-11-30 17:11:13 25 4
gpt4 key购买 nike

我正在编写一个程序,它基本上计算进口汽车的关税。用户应该输入汽车和运费的价格值。但是当我计算时,我得到了这个错误,这不太好。

//进口汽车应缴纳的总关税//

main()
{

float purchaseprice, shipmentcosts, ecowaslevy, importlevy, GCNETlevy, TotalDuty;

printf("Enter the purchase price and shipment cost");


scanf("%f,%f", &purchaseprice, &shipmentcosts);
ecowaslevy = 0.01f, importlevy = 0.25f, GCNETlevy = 0.05f;
//FORMULAS FOR THE LEVY//
ecowaslevy = (purchaseprice + shipmentcosts) * (0.01);
importlevy = (purchaseprice + shipmentcosts) * (0.25);
GCNETlevy = (purchaseprice + shipmentcosts) * (0.05);
//FORMULA FOR TOTAL DUTY//
TotalDuty = (ecowaslevy + importlevy + GCNETlevy)*(3.2);
printf("TOTAL DUTY=GHC.%f", TotalDuty);
system("pause");

}

这些是警告:

1>c:\users\david\documents\visual studio 2013\projects\total expenses\total expenses\tot.c(9): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data

1>c:\users\david\documents\visual studio 2013\projects\total花销\total花销\tot.c(10): 警告 C4244: '=' : 从 'double' 到 'float' 的转换,可能会丢失数据

1>c:\users\david\documents\visual studio 2013\projects\total花销\total花销\tot.c(11): 警告 C4244: '=' : 从 'double' 到 'float' 的转换,可能会丢失数据

最佳答案

在几行中,您乘以常数值,例如 0.010.25。这些值是 double ,乘法的结果是 double ,然后将其存储在精度较低的浮点变量中。这会给你一个编译器警告。要修复此问题,您可以将 f 文字后缀附加到常量值,例如0.01f0.25f

关于c - 为什么我收到从 'double' 到 'float' 的转换,可能会丢失数据警告?(c),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32427222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com