从输出中删除尾随零

时间:2014-10-19 15:05:36

标签: c

所以我的程序工作并编译它就像我问的那样。 但是我的程序输出有这些拖尾零,我想消除。 这不像是困扰我,但我绝对希望将它清理干净一点。 如果有人能给我一些关于如何消除尾随零的帮助, 非常感谢。

#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

你可以看到有很多零,我很想消失,请帮忙吗?

2 个答案:

答案 0 :(得分:4)

使用%.2f作为输出格式。

答案 1 :(得分:2)

您可以使用.指定要在小数点后显示的位置数,然后是%f之间的位置数,如下所示:printf("Your Net Pay is %.2f\n", net);。还有其他格式选项可以与格式说明符一起使用,您可以通过man printf在手册页中阅读更多内容,因为printf不仅仅是C函数。