2017-03-16 41 views
-6

我在C中有一個簡單的問題。我如何將一個int值變成一個浮點數,所以我可以添加非整數。如何將int轉換爲C中的float?

好比說

int i = 1; 

我如何添加0.5〜我得到一個浮點數1.5嗎? 我試過了:

float j = (float)i + 0.5; 

似乎不起作用。

請大家幫忙。

+10

這正是你如何去做的。所以定義「不工作」。 – StoryTeller

+5

我的猜測是當你'printf'的時候,你正在使用錯誤的格式字符串。 – Dan

+7

*「似乎不起作用,請求幫助。」*不是有效的問題陳述。 –

回答

6

我想,你用錯了格式說明符。在gcc編譯器下面的程序工作正常。

#include <stdio.h> 

int main() 
{ 
    int i = 1; 
    float j = (float)i + 0.5; 
    printf("%f\n",j); 
} 

輸出:

1.500000 
-5

可以簡單地通過將浮子int類型變量之前如下面例子進行轉換。

((浮點)數/總)* 100

+0

這與OP的不同之處有何不同? – UnholySheep

2

我寫你的代碼在Visual Studio 2012和它完美的作品。

#include <stdio.h> 

int main() 
{ 
    int i = 1; 
    float j = (float)i + 0.05; 
    printf("%f\n", j); 
    return 0; 
}