所以我的程序工作并编译它就像我问的那样。 但是我的程序输出有这些拖尾零,我想消除。 这不像是困扰我,但我绝对希望将它清理干净一点。 如果有人能给我一些关于如何消除尾随零的帮助, 非常感谢。
#include "stdafx.h"
#include "stdio.h"
#define BPR 10 // Basic Pay Rate is $10.00/hr.
#define OTPR 15 // Over Time is time and a half.
#define OT 40 // Overtime is after 40 hours.
#define RATE1 .15 // Tax Rate 15%.
#define RATE2 .20 // Tax Rate 20%.
#define RATE3 .25 // Tax Rate 25%.
#define LIMIT1 300.00 // The first 300.00.
#define LIMIT2 200.00 // 200 after the first 300.
int main(void)
{
int hours;
double tax;
double gross;
double taxes1=0,taxes2=0,taxes3=0;
double net;
double hold1=0,hold2=0,hold3=0;
printf("Please enter hours worked: ");
scanf_s("%i", &hours);
if(hours < OT)
gross=hours*BPR;
else
gross=((hours-OT)*OTPR+(OT*BPR));
if(gross > LIMIT2 && gross < LIMIT1)
taxes1=gross*RATE2, hold1=gross-taxes1;
if(gross > LIMIT1)
taxes2=gross*RATE1, hold2=gross-taxes2;
if(gross < LIMIT2)
taxes3=gross*RATE3, hold3=gross-taxes3;
if(gross > 0)
{
net=(hold1+hold2+hold3);
tax=(taxes1+taxes2+taxes3);
}
printf("Your Net Pay is %f\n", net);
printf("Your Gross Pay was %f\n", gross);
printf("Your Taxes paid are %f\n", tax);
return 0;
}
如果为小时变量输入65,则输出将显示:
您的净工资是828.750000
您的总薪酬为975.000000
您支付的税款为146.250000
你可以看到有很多零,我很想消失,请帮忙吗?
答案 0 :(得分:4)
使用%.2f
作为输出格式。
答案 1 :(得分:2)
您可以使用.
指定要在小数点后显示的位置数,然后是%
和f
之间的位置数,如下所示:printf("Your Net Pay is %.2f\n", net);
。还有其他格式选项可以与格式说明符一起使用,您可以通过man printf
在手册页中阅读更多内容,因为printf
不仅仅是C
函数。