gpt4 book ai didi

c - 为什么我计算的百分比有 0.12 的偏差?

转载 作者:行者123 更新时间:2023-11-30 20:11:40 24 4
gpt4 key购买 nike

我现在正在编程1。我正在创建一个程序,旨在显示总购买金额的教师折扣 (12%) 的计算结果。当根据购买总额在屏幕上打印折扣金额时,我得出的总额不正确。这是代码:

double total_b4_tax;
printf("\nEnter the purchase total : ");
scanf("%lf", &total_b4_tax);
getchar ();


if (teach_music == 'y' || 'Y')
{
double discount_total = teach_music * .12;
printf("Total purchase $ %.2lf\n", total_b4_tax);
printf("Discount total $ %.2lf\n", discount_total);
}

我的折扣总额即将达到 14.52,而实际上 122.0 * .12 是 14.64。我该如何解决这个问题?

最佳答案

您正在尝试通过将字符乘以 float 来计算折扣:

double discount_total = teach_music * .12;

在此之前,您已确保 teach_music 为“y”或“Y”。我很好奇它是如何编译的,以及 C 如何得出“y”或“Y”是 121 的结论。

编辑:Harr,“Y”是 ASCII 121。因此,将其与 0.12 相乘,结果为 14.52

无论如何,我认为

 double discount_total = total_b4_tax * .12;

让一切变得更好。

关于c - 为什么我计算的百分比有 0.12 的偏差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39938595/

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