2017-02-18 54 views
-1

Как я могу отобразить двойной какКак отображать большие двойные числа без научной нотации в C?

5000683 

Вместо 5.000683e6 в C?

Я пробовал %d, %g и %f, но безрезультатно.

+2

['% f': no научные обозначения] (http://ideone.com/rukF3A). Вы можете указать [точность] (http://en.cppreference.com/w/c/io/fprintf), если вам не нужны цифры после десятичной точки. – user2357112

ответ

3

Похоже %f работает просто отлично:

#include <stdio.h> 

int main() 
{ 
    double d = 5000683; 
    printf("%f\n", d); 
    printf("%.0f\n", d); 

    return 0; 
} 

Выход этого кода будет

5000683.000000 
5000683 

Второй printf() оператор устанавливает точность до 0 (предваряя f с .0) в избегать любых цифр после десятичной точки.

+0

Спасибо! '.0' решила проблему конечных нулей. – WhiteFlameAB