如何在c中保留小数

时间:2013-09-29 13:51:03

标签: c decimal

我正在编写简单的家庭作业代码。 当我用

定义时,我从用户那里得到一个数字,即3.4
scanf("%d",&a)

它只需要3并且这样做。我将a定义为

int a; 

我该怎么办?

6 个答案:

答案 0 :(得分:3)

我认为你对c编程很新。这是一项非常简单的工作。这可以这样做: -

float a;
// to input a data in the variable a
scanf("%f",&a);
//to display the stored data
printf("%f\n",a);
//or 
printf("%.nf\n",a);//specify value of n
//maximum value of n is 6 also is its default value
//for e.g. printf("%.2f",a); will display decimal number upto two digits after the decimal place
//you can know more about displaying data as
%d: decimal value (int) 
%c: character (char) 
%s: string (const char *) 
%u: unsigned decimal value (unsigned int) 
%ld: long int (long) 
%f: float value (float or double) 
%x: decimal value in Hexadecimal format 
%o: decimal value in octal format

对于avialabe格式规范列表,请转到here

答案 1 :(得分:2)

使用float

float a;
scanf("%f", &a);

答案 2 :(得分:1)

您应该将a定义为

float a;

并将%d替换为%f

中的scanf
scanf("%f", &a);  
  

我该怎么办?

阅读Basics of Formatted Input/Output in C

答案 3 :(得分:1)

%d代表int。 3.4不是int类型,可以使用float。

float x;
scanf("%f", &x);

有关数据类型的详细信息,请访问以下网址:http://en.wikipedia.org/wiki/C_data_types

还有:http://www.techonthenet.com/c_language/variables/index.php

答案 4 :(得分:0)

对于int变量非常简单,我们使用%d格式说明符,如果我们想要float,我们使用%f格式说明符。因为根据IEEE int和float位图格式不同。

答案 5 :(得分:0)

你正在声明一个只能取整数值的int,所以你需要做的是使它浮动,用于具有小数点的数字

浮动a; 的scanf(%F,安培;一个);