C++ Variable in % ausgeben

nchristoph

Erfahrenes Mitglied
Hallo zusammen:

Ich habe folgende Variablen:

m_iMaxReiatsu und m_iReiatsu.

Beide werden vom Server an den Client gesendet wobei m_iMaxReiatsu nach jedem Kill um ein bisschen was erhöht wird und m_iReiatsu je nach verbrauch verringert wird.

Ich will das jetzt so ausgeben, das ich immer sehe, wieviel Reiatsu ich noch habe, also wieviel %.

Ich berechne das so: (m_iReiatsu*100)/m_iMaxReiatsu

Allerdings wirft er mir auf dem Hud immer wieder Kauderwelsch aus.

Die Bar wird zwar richtig reduziert, aber die % Anzeige funktioniert nicht.

Ich schätze mal, das in der Berechnung mein Fehler liegt.

Kann mir wer helfen?
 
Zuletzt bearbeitet:
Hi.
Ich habe folgende Variablen:

m_iMaxReiatsu und m_iReiatsu.

Beide werden vom Server an den Client gesendet wobei m_iMaxReiatsu nach jedem Kill um ein bisschen was erhöht wird und m_iReiatsu je nach verbrauch verringert wird.

Ich will das jetzt so ausgeben, das ich immer sehe, wieviel Reiatsu ich noch habe, also wieviel %.

Ich berechne das so: (m_iReiatsu*100)/m_iMaxReiatsu
Bitte zeig doch direkt C/C++ Code, das läßt sich viel leichter verstehen als deine unvollständige Beschreibung. Ich nehme mal an m_iMaxReiatsu und m_iReiatsu.
sind Integer?
Allerdings wirft er mich auf dem Hud immer wieder Kauderwelsch aus.
:confused: Das soll wohl auch Kauderwelsch sein?
Die Bar wird zwar richtig reduziert, aber die % Anzeige funktioniert nicht.
Probier's mal so:
C++:
(m_iReiatsu*100.)/m_iMaxReiatsu
Gruß
 
Naja eigentlich sollte er die % ausgeben nicht Kauderwelsch.

Was bedeuted der Punkt hinter 100?

Also müsste der Code funktionieren oda wie?
 
Rechnung ist korrekt. Gemeint ist der Unterschied zwischen Fließkomma und Integerdivision. Der Punkt macht aus 100 eine Fließkommazahl, dadurch wird m_iReiatsu u. m_iReiatsu implizit in eine Fließkommazahl konvertiert.

Code:
// Integerdivision
100/5 = 20
100/8 = 12
12/5 = 2
100%5 = 0
100%8 = 4

// Fließkommadivision
100.0/5.0 = 20.0
100.0/8.0 = 12.5
12.5/ 2.37 = 5.2742616
 
Zurück