printf short int output in c code example

Example 1: c printf float value

I want to print a float value which has 2 integer digits and 6 decimal digits after the comma. If I just use printf("%f", myFloat) I'm getting a truncated value.

I don't know if this always happens in C, or it's just because I'm using C for microcontrollers (CCS to be exact), but at the reference it tells that %f get just that: a truncated float.

If my float is 44.556677, I'm printing out "44.55", only the first two decimal digits.

Example 2: c++ char print width

/*
OUTPUT
char variable value: Programming
-----------------------------------------------------
[%s]       |Programming|
[%10s]     |Programming|
[%15s]     |    Programming|
[%-15s]    |Programming    |
[%15.5s]   |          Progr|
[%-15.5s]  |Progr          |
-----------------------------------------------------
*/

// NOTE: Specifically used for char data-types (not strings)

char str[]="Programming";    // Length = 11  

std::cout << "[%s]       |";
printf("%s",str);      // Display Complete String  
std::cout << "|\n";

std::cout << "[%10s]     |";
printf("%10s",str);    // 10 < Length: Display Complete String  
std::cout << "|\n";

std::cout << "[%15s]     |";
printf("%15s",str);    // 15 > Length: Displays Complete String with 4 spaces Alignment:Right  
std::cout << "|\n";

std::cout << "[%-15s]    |";
printf("%-15s",str);   // Same as Above But Left Aligned
std::cout << "|\n";

std::cout << "[%15.5s]   |";
printf("%15.5s",str);  // 15-5 = 10 spaces and show first 5 characters Align : R    
std::cout << "|\n";

std::cout << "[%-15.5s]  |";
printf("%-15.5s",str); // 15-5 = 10 spaces and show first 5 characters Align : L  
std::cout << "|\n";

Tags:

Cpp Example