Jak uzyskać wartość po kropce jako int ? np double a=12.34 rzutując na int to będzie 12 a mi chodzi jeszcze o 34.
godz-=godw;
min=fmod(godz,100);
godz /=100;
god =(int)godz;
Min jest int z tego co mam w podpowiedzi fmod zwraca double ,zapisuje do inta a kompilator robi to bez żadnego ale ?
A czemu miałby robić jakieś ale? Zależy jaki kompilator, zależy jakie flagi ma ustawione. U mnie na gcc
nic nie stwierdza w kwestii cast-ów, ale wystarczy zrobić tak:
i dostanę warning (nie error) : warning: conversion to ‘int’ alters ‘double’ constant value [-Wconversion] int x = 3.02;
Jeżeli masz 12.34 to rzutujesz na int i masz double = 12.34 i int = 12, teraz tylko double - int i po sprawie (12.34 - 12 = 0.34).
Zgodnie z sugestią “**kostek135” **zmieniłem obliczenia na znalezione w google te powyższe wyświetlały głupoty i teraz powinno być dobrze ,czas pokaże zamieniam godziny na minuty i (jakby ktoś sobie czasem obliczał dł. dnia)
godz-=godw;
godw=godz;
godz /=60;
god =(int)godz;
min=god*60;
min=godw-min;