Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zaokrąglanie

Ostatnio zmodyfikowano 2015-12-15 07:36
Autor Wiadomość
Banneq
Temat założony przez niniejszego użytkownika
Zaokrąglanie
» 2015-12-14 19:32:02
Jak zaokrąglić jakąś wczytaną liczbę do iluś tam mijesc po przecinku?
Nie chodzi mi o jej wypisanie
printf( "%.2f", n );
 tylko o samo zaokrąglenie.
P-141973
pekfos
» 2015-12-14 20:10:51
Pomnóż razy 10 do potęgi ileśtam, zaokrąglij w określony sposób, podziel przez 10 do potęgi ileśtam.
P-141979
darko202
» 2015-12-15 07:36:00
z
https://forum.4programmers.net​/C_i_C++​/239057-zaokraglanie_liczb_do_2_miejsc_po_przecinku

C/C++
#include <stdio.h>
#include <math.h>

int pow_i( int base, int exp ) {
    int result = 1;
    while( exp ) {
        if( exp & 1 )
             result *= base;
       
        exp >>= 1;
        base *= base;
    }
    return result;
}

float round_float_precision( float x, unsigned digits ) {
    unsigned precision = pow_i( 10, digits );
    return roundf( x * precision ) / precision;
}

int main( void ) {
    float x = 123.456;
    printf( "Two digits of precision\n" );
    printf( "- by printf                  - %.2f\n", x );
    printf( "- by setting value precision - %f\n", round_float_precision( x, 2 ) );
    return 0;
}

out: Two digits of precision
- by printf                  - 123.46
- by setting value precision - 123.460000
P-142002
« 1 »
  Strona 1 z 1