2017-05-29 2 views
-2

Ich versuche, durch eine Float-Nummer durch den Benutzer zu filtern und die größte Ziffer innerhalb finden. Aber ich bekomme immer die Fehlermeldung:Wie verwende ich% für Float-Nummern?

error: invalid operands to binary % (have 'float' and 'int')

ich andere Foren gelesen habe uns die fmod Funktion besagen, wie würde ich beantragen, dass mit einem einfachen Stück Code, das ich nur den Rest eines Schwimmers finden will?

+0

können Sie bitte Ihren Code zeigen? –

+0

Was wäre das gewünschte Ergebnis von '%' auf Floats? –

+0

Verwenden Sie die Funktion 'fmod' aus' math.h' –

Antwort

1

über die fmod Funktion (Ideone example):

#include <math.h> 
#include <stdio.h> 

int main(void) { 
    float val = 19.3; 
    int div = 2; 
    printf("%f\n", fmod(val, div)); 
    return 0; 
} 
1

Der Operator% gilt nur für ganze Zahlen zwischen denn um einen ganzzahligen Quotienten zu erzeugen, ist eine Ganzzahl-Division benötigt. Verwenden Sie stattdessen:

double remainder = fmod(arg1, arg2);