Gå til innhold

Anbefalte innlegg

Skrevet

Hei!

 

Lurte på om noen kunne hjelpe meg med en oppgave.

 

"Lag en webside som skal ta imot antall sekunder i en tekstboks. Utskriften på etikketen skal være:

<sekunder totalt> sekunder tilsvarer: <timer> timer, <minutter> minutter og <sekunder> sekund."

 

Når man f.eks skal gjøre om miles til km, knop til km/t osv. Hvordan setter man opp koden?

Videoannonse
Annonse
Skrevet (endret)

Noen som har svar på dette i Actionscript også? :)

 

EDIT: Miles til knop og slikt klarer jeg, men å få fra sekunder til sekunder, minutter og timer i forskjellige tekstbokser?

Endret av empetre
Skrevet

Dette er grunnleggende matematikk:

Hvis du har x antall sekunder som utgangspunkt, er antall timer x delt på 3600 rundet ned. Resten fra denne divisjonen ganger 60 (rundet ned) gir antall minutter. Resten fra denne multiplikasjonen ganger 60 gir antall sekunder.

 

Hvis du vil konvertere en verdi fra en målestokk til en annen, slår du opp hvor mye en enhet i målestokken du starter med tilsvarer i den andre. Hvis du ganger verdien du har med dette tallet vil du få den tilsvarende mengden i den andre målestokken. Så hvis jeg vil finne ut hvor mange kilometer 3 miles er, søker jeg f.eks på Wikipedia, finner at en mile tilsvarer 1.609344 kilometer, og regner ut at det blir 3 * 1.609344 = 4.828032.

Skrevet

Du lager en metode...

 

public int heleMinutter(int sekunder)
{
 return sekunder / 60;
}

 

Hvis du vil returnere flere verdier, kan du f.eks lage en struct...

Skrevet

Syntax burde dere klare selv :)

 

Enkelt eksempel i python, som dere bare kan omskrive:

>>> totalt_sekunder = 57489
>>> timer = totalt_sekunder / (60*60)
>>> minutter = (totalt_sekunder - timer*60*60) / 60
>>> sekunder = totalt_sekunder - (timer*60*60) - (minutter*60)
>>> print "%d timer, %d minutter og %d sekunder" % (timer, minutter, sekunder)
15 timer, 58 minutter og 9 sekunder

Skrevet (endret)

Det forrige eksempelet mitt var kanskje litt for generelt...

 

int sekunder = 57489;
int minutter = sekunder / 60;
int timer = minutter / 60;
sekunder = sekunder % 60;
minutter = minutter % 60;

 

Her er det brukt modulo (%) som det kan være greit å lære seg først som sist.

 

Edit:

 

Sikkert ikke egnet for oppgave, men .net har utrolig mange fine innebygde biblioteker for ymse oppgaver...

 

TimeSpan t = TimeSpan.FromSeconds(57489);

String tid = string.Format("{0:D2}:{1:D2}:{2:D2}", t.Hours, t.Minutes, t.Seconds);

Endret av pifler
  • 1 måned senere...
Skrevet

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

 

public partial class NewFolder1_Test_TallSpill_Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

 

}

protected void BtnRegnUt_Click(object sender, EventArgs e)

{

int input = Convert.ToInt32(Txtsek.Text);

int fraTimerTilSek = input / 3600;

int tilovers = (input % 3600) / 60;

int sekunder = (input % 3600) - (tilovers * 60);

 

LabResultat.Text = input + " sekunder tilsvarer " + fraTimerTilSek + " timer, " + tilovers + " minutter og " + sekunder + " sekunder ";

 

 

}

}

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...