What is this format specifier? - eviltoast

What is %.2f? Why is it not just %f? Is there some additional calculation happening? The half function already does all the calculations including splitting the bill, so I’m not sure what %.2f is. (Btw why is this code not formatting correctly in lemmy?)


#include 
#include 

float half(float bill, float tax, int tip);

int main(void)
{
    float bill_amount = get_float("Bill before tax and tip: ");
    float tax_percent = get_float("Sale Tax Percent: ");
    int tip_percent = get_int("Tip percent: ");

    printf("You will owe $%.2f each!\n", half(bill_amount, tax_percent, tip_percent));
}

// TODO: Complete the function
float half(float bill, float tax, int tip)
{
    bill += (bill * (tax / 100.0));
    bill += (bill * (tip / 100.0));

    bill /= 2;

    return bill;
}
    • Yup that definitely does the same thing.

      If anyone else is wondering why the 3 is there, it’s because usually you won’t find just one printf. You have the printf user command, the printf function from the standard C library, and POSIX manual entries for both the printf user command and C function. The id number is then an identifier for the corresponding section of the printf entry, and you can list all of them by doing a man -f printf.

      • JackbyDev@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Awesome, I think I’m gonna consider aliasing man to man -f lol. Can you think of any compelling reason not to?

        Actually, nevermind, I misunderstood you. -f just lists the pages, it doesn’t print all of their content.

      • ono@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        The id number is then an identifier for the corresponding section of the printf entry,

        Nit: 3 is the manual section in which to look for the named entry (aka page), not a section of the entry.