Diskuze: jak převést 7:30 na 7,5

Java Java jak převést 7:30 na 7,5

Aktivity (1)
Avatar
ced
Člen
Avatar
ced:14.3.2014 20:50

Zdravím, existuje nějaká snadná metoda jak ze String vstupu 7:30 dostat 7,5 díky :)

 
Odpovědět 14.3.2014 20:50
Avatar
Ondrca
Redaktor
Avatar
Odpovídá na ced
Ondrca:14.3.2014 20:51

Ano, vypočítej si to :)

Editováno 14.3.2014 20:51
Nahoru Odpovědět 14.3.2014 20:51
Zase jsem o něco chytřejší
Avatar
Ondrca
Redaktor
Avatar
Odpovídá na ced
Ondrca:14.3.2014 20:55

Počkat, a potřebuješ jenom tohle, nebo třeba i:
5:15.........­..........5,25
8:45.........­..........8,75
?

Nahoru Odpovědět 14.3.2014 20:55
Zase jsem o něco chytřejší
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na ced
Jan Vargovský:14.3.2014 20:59
internal static class Program
{
    [STAThread]
    private static void Main(string[] args)
    {
        string[] times = { "12:00", "12:15", "12:30", "12:45", "12:05" };
        foreach (var time in times)
            Console.WriteLine("{0} => {1}", time, StringTimeToNumber(time));
    }

    public static float StringTimeToNumber(string time)
    {
        var tmp = time.Split(':').Select(n => int.Parse(n)).ToArray();
        return tmp[0] + tmp[1] / 60f;
    }
}
Editováno 14.3.2014 21:01
 
Nahoru Odpovědět 14.3.2014 20:59
Avatar
Odpovídá na ced
Michal Žůrek (misaz):14.3.2014 21:03

Tak celé hodiny máš jasné. Minuty Převedeš:

7:30 > 7,5
7:30 = 30sec/60+7h
7,5 > 7:30
7,5 = 7+0,5*60
Nahoru Odpovědět 14.3.2014 21:03
Nesnáším {}, proto se jim vyhýbám.
Avatar
Jan Vargovský
Redaktor
Avatar
Jan Vargovský:14.3.2014 21:08

Aha, teď koukám, že je to Java :[

 
Nahoru Odpovědět 14.3.2014 21:08
Avatar
ced
Člen
Avatar
ced:14.3.2014 21:15

Jak to spočítat to vím, ale když to zapíšu do kódu tak mi to připadá strašně krkolomný, tak mě zajímalo jestli neexistuje nějaká metoda, která by to vyřešila elegantnějc....

 
Nahoru Odpovědět 14.3.2014 21:15
Avatar
Odpovídá na ced
Michal Doubek (HAPPY DAY):14.3.2014 21:43
7:30 // vezmeš minuty
30 * 10 // vynásobíš deseti
300 / 60 // vydělíš šedesáti
Nahoru Odpovědět  +1 14.3.2014 21:43
Svoboda tvé pěsti končí na špičce mého nosu
Avatar
Odpovídá na Michal Doubek (HAPPY DAY)
Michal Doubek (HAPPY DAY):14.3.2014 21:44

vyjde ti pět, což je desetiné číslo

Nahoru Odpovědět 14.3.2014 21:44
Svoboda tvé pěsti končí na špičce mého nosu
Avatar
ced
Člen
Avatar
ced:14.3.2014 22:18

:D znova opakuju, ze zakladkou sem si prosel, takze dokazu vymyslet jak prevedu minuty na desetinny cislo :D , problem nastava v okamziku, kdy to chci naprogramovat, protoze z toho vzdycky vyleze strasliva zrudnost.....

 
Nahoru Odpovědět 14.3.2014 22:18
Avatar
Odpovídá na ced
Ondřej Štorc:14.3.2014 22:28

Co něco takového:

String cas = "7:20";
String[] casRozdeleny = cas.Split(":");
int hodiny = Integer.parseInt(casRozdeleny[0]);
int minuty = Integer.parseInt(casRozdeleny[1]);
int vysledek = hodiny + (minuty * 10)/60;

Nezkoušel jsem to a v javě nedělám tak prosím omluv případné chyby..

Nahoru Odpovědět  +1 14.3.2014 22:28
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Jan Vargovský
Redaktor
Avatar
Jan Vargovský:14.3.2014 22:29

To vynásobení 10 je blbost, potřebuješ jen 0,5 a né 5. Leda, že bys to chtěl vracet v nějaké stringové hodnotě.

 
Nahoru Odpovědět 14.3.2014 22:29
Avatar
Odpovídá na Jan Vargovský
Ondřej Štorc:14.3.2014 22:33

Já jsem nad tím nepřemýšlel, opsal jsem to od Michal Dubak...

Nahoru Odpovědět 14.3.2014 22:33
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Ondřej Štorc
Jan Vargovský:14.3.2014 22:41

Proto jsem neodpovídal Tobě, ale těm nahoře.

 
Nahoru Odpovědět 14.3.2014 22:41
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Michal Doubek (HAPPY DAY)
David Hynek:14.3.2014 23:05

tak už nic... :)

Editováno 14.3.2014 23:09
Nahoru Odpovědět  +1 14.3.2014 23:05
Čím víc vím, tím víc věcí nevím.
Avatar
David Hynek
Redaktor
Avatar
David Hynek:15.3.2014 7:47

Přeci jen to sem dám... ale je to v PHP, tak si to převeď :)

$time = date("H:i");
list($hour, $min) = explode(':', $time); // úprava času
$hour = $hour * 1; // úprava hodin
$min = round(($min * .01666),2); // úprava minut
echo $hour+$min; //výpis
Nahoru Odpovědět  +1 15.3.2014 7:47
Čím víc vím, tím víc věcí nevím.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 16 zpráv z 16.