[C#] matte problem tal 04 - 03 = 01

Permalänk
Avstängd

[C#] matte problem tal 04 - 03 = 01

Försöker räkna ut talet kan max blir 59 och minst 00.

Om talet är under 10 blir talet 09 och då ska jag ta minus 3 så ska talet blir 06 men jag får 6 när jag vill får ut 06 hur löser man det här problemet?

Om talet är 10 minus 3 ska talet blir 07.

Om talet är 20 minus 3 ska talet blir 17.

Ja det är tiden på en klocka i minuter

Dold text

Om klockan är 14:00:00 så vill jag ta minus 3 så att klockan blir 13:57:00 eller om klockan är 14:30:00 så blir det 14:27:00

Dold text

int timmar = Convert.ToInt32(wordsStart[1]); int minuter = Convert.ToInt32(wordsStart[1]); if (minuter > 04 || minuter == 04) { minuter = minuter - 3; MessageBox.Show(minuter.Tostring()); } else { MessageBox.Show(wordsStart[1] + " :good"); }

Visa signatur

Server: två Intel Xeon E5-2690v2 och 128 GB ram

Min server dator: #15149189 http://i.imgur.com/BKxOmUP.jpg
zxhosting: https://www.facebook.com/pages/Zxhosting/1476037889350815

Permalänk

Eftersom det endast är utskriften du verkar ha problem med så kan du ju enkelt skriva ut en 0:a som en sträng-literal om resultatet är mindre än 10.
pseudo kod:

//Definiering av variablerna timmar och minuter. if (minuter >= 04) //Samma sak som "minuter == 04 || minuter > 04" { if((minuter -= 3) < 10) //Samma sak som: "(minuter = minuter - 3) < 10" MessageBox.Show("0" + minuter.toString()); else MessageBox.Show(minuter.toString()); } else{... resten av koden

Permalänk
Hedersmedlem
Skrivet av fatalbert541:

MessageBox.Show("0" + minuter.toString());

ToString accepterar för övrigt en mängd olika formatparametrar. Man kan till exempel tala om att resultatet skall vara minst två tecken långt (med inledande nollor vid behov) genom att använda:
minuter.ToString("D2");

Permalänk

Räkna i hundradelar eller liknande, skapa en vektor och skriv ej ut första siffran (0.)

Visa signatur

Jag är trött på att alla vuxna säger att man kan få mardrömmar av spel, Själv så har jag dock varit med om det. När jag var liten så spelade jag ett spel som gick ut på att stänga in små studsande bollar så snabbt och effektivt som möjligt. Men så en natt drömde jag att jag var bollen, det var då jag upptäckte att jag hade Klaustrofobi...

Permalänk
Medlem

Om det är tid det handlar om är du helt fel ute. Det finns en datatyp som är gjord för att hantera tid.

Citat:

Om klockan är 14:00:00 så vill jag ta minus 3 så att klockan blir 13:57:00 eller om klockan är 14:30:00 så blir det 14:27:00

DateTime newTime = DateTime.Now.AddMinutes(-3); // Spara undan nuvarande datum minus tre minuter MessageBox.Show(newTime.ToString("hh:mm:ss")); // Skriv ut datumet som t.ex. 11:22:33

Visa signatur

Chassi: DAN A4 | MB: ASUS VI Impact | GPU: Titan X | CPU: 4770K | RAM: 2x8GB Corsair Vengeance | SSD: Samsung 830 512GB | Skärm: ASUS Swift IPS

Permalänk
Avstängd
Skrivet av xinux:

Om det är tid det handlar om är du helt fel ute. Det finns en datatyp som är gjord för att hantera tid.

DateTime newTime = DateTime.Now.AddMinutes(-3); // Spara undan nuvarande datum minus tre minuter MessageBox.Show(newTime.ToString("hh:mm:ss")); // Skriv ut datumet som t.ex. 11:22:33

Smart ide men hur jag ska jag göra för att bara får ut tiden?

DateTime newTime = DateTime.Parse(label4.Text).AddMinutes(-3); MessageBox.Show(newTime.ToString());

Visa signatur

Server: två Intel Xeon E5-2690v2 och 128 GB ram

Min server dator: #15149189 http://i.imgur.com/BKxOmUP.jpg
zxhosting: https://www.facebook.com/pages/Zxhosting/1476037889350815

Permalänk
Medlem

Testa det han redan har skrivit:

MessageBox.Show(newTime.ToString("hh:mm:ss"));

Permalänk
Avstängd
Skrivet av Squallie:

Testa det han redan har skrivit:

MessageBox.Show(newTime.ToString("hh:mm:ss"));

Just det den delen av koden såg jag inte.

Visa signatur

Server: två Intel Xeon E5-2690v2 och 128 GB ram

Min server dator: #15149189 http://i.imgur.com/BKxOmUP.jpg
zxhosting: https://www.facebook.com/pages/Zxhosting/1476037889350815