2017-03-16 6 views
-6

Ich habe eine einfache Frage in C. Wie mache ich einen Int-Wert in einen Float, so dass ich Nonntegers hinzufügen kann.Wie mache ich Int in float in C?

Wie sagen

int i = 1; 

Wie kann ich 0,5 bis i hinzufügen 1.5 eine Float-Zahl zu erhalten? Ich habe versucht:

float j = (float)i + 0.5; 

nicht zu funktionieren scheinen.

Bitte helfen.

+10

Genau so würden Sie es tun. Also definiere "nicht arbeiten". – StoryTeller

+5

Meine Vermutung ist, wenn Sie es "printf", verwenden Sie die falsche Formatzeichenfolge. – Dan

+7

* "Scheint nicht zu funktionieren. Bitte helfen." * Ist keine gültige Problemaussage. –

Antwort

6

Ich denke, Sie haben falsch verwendet Format-Spezifizierer. In GCC-Compiler folgende Programm funktioniert gut.

#include <stdio.h> 

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

Ausgang:

1.500000 
-5

Sie einfach konvertieren Schwimmer vor dem int-Typ Variable setzen, wie in Beispiel unten gezeigt.

((float) Nummer/Gesamt) * 100

+0

Wie unterscheidet sich das von OP? – UnholySheep

2

ich Ihren Code in Visual Studio 2012 geschrieben und es funktioniert perfekt.

#include <stdio.h> 

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