Hej Hundradelar?? Menar du tidsangivelsen hundradels sekund eller vill du att själva värdet sju komma tolv ska lagras som ett decimailtal i databasen och att tidsangivlesen som du utläser av detta (I ditt fal 07:12) inte ska gör det. Förlåt att jag var lite otydlig. Här har du principen för din omräkning Tackar så mycket för tipset på formeln. Hej! Hej igen. Om du prövar NUUU fungerar det!Hur omvandla tidsangivelse till hundradelar?
Mitt problem är följande:
Jag vill att användarna skall kunna ange ett klockslag, tex på formen 7,12 (dvs egentligen kl. 07:12, men enklare att ange) och sedan vill jag omvandla detta till hundradelar, dvs 7,20, för att kunna lagra detta i databasen. Men hur gör jag denna beräkning?
Mvh
/PerSv: Hur omvandla tidsangivelse till hundradelar?
Framgent skulle jag också vilja ha reda på i vilken miljö du vill att detta ska ske. Koden (vilket språk?/plattform?) eller ska det ske i databasen (åter plattform)?
//Mikael Sand
"Nu med Ånge™"Sv: Hur omvandla tidsangivelse till hundradelar?
Lite grundfakta: jag har en IIS5-webb med asp-sidor och skall lagra i en Access 2000-databas.
Varför? Jo jag vill lagra hundradelar (hundradels timmar, dvs 15 minuter=25/100-timmar...) för att kunna beräkna antal timmar på ett enkelt sätt. Egentligen är systemet del av ett större tidredovisningssystem.
Hoppas det blev tydligare nu... ;-)
/ PerSv: Hur omvandla tidsangivelse till hundradelar?
x = 7,12
x - Int(x)
Int(x) + ----------- = 7,2
0,6
//
JanneSv: Hur omvandla tidsangivelse till hundradelar?
Tyvärr verkar jag missa något väsentligt, nämligen att jag inte får resultatet att stämma.
Jag skickar ju det inmatade värdet från sidan 1 till sidan 2 och på sidan 2 har jag skrivit följande kod:
<%
X = Request("tidvarde")
Varde = Int(X) + ((X-Int(X))/0.6)
%>
Mitt svar när jag skriver ut detta på sidan 2 blir "712".
Alltså görs inte någon beräkning av tal utan det betraktas fortfarande som text. Varför?
Mvh
/ PerSv: Hur omvandla tidsangivelse till hundradelar?
Om du vet att du får in ett värde som är Int så kan du ju konvertera det till en integer direkt.
Ex:
<%
X = Int(Request("tidvarde"))
Varde = Int(X) + ((X-Int(X))/0.6)
%>
Eller genom attt använda Cint()
Ex:
<%
X = Cint(Request("tidvarde"))
Varde = Int(X) + ((X-Int(X))/0.6)
%>
//BjörnSv: Hur omvandla tidsangivelse till hundradelar?
Tyvärr får jag samma svar oavsett vilka av dina metoder jag provar.
Den svarar fortfarande 712.
Skall jag ta emot värdet X mha Request, Request.Form eller Request.Querystring?
Om jag vet att jag matar in ett tal - är det då något jag kan göra fel? Alltså jag provar att mata in värdet både som 7.12 (och det blir samma fel ändå) och 7,12 (då blir svaret bara 7)... och inget ger ett korrekt svar.
När jag testar att skriva X = 7.12 i koden och skriver ut det resultatet blir det ju rätt...
/ PerSv: Hur omvandla tidsangivelse till hundradelar?
<%
X = CDbl(Request("tidvarde"))
Varde = Int(X) + ((X-Int(X))/0.6)
%>
då talar du ju om att det är ett flyttal som du matar in i formeln.
ev behöver man sätta, Varde = CDbl( Int(X) + ((X-Int(X))/0.6) ) men jag är inte säker, har inte jobbat så mycket i ASP me i VB med rätt deklarerade variabletyper funkar formeln.
[Edit]
Såg vid test att 7,12 funkar men inte 7.12 (returnerar 712) men å andra sidan så skrev du ju 7,12 i din ursprungliga fråga
JanneSv: Hur omvandla tidsangivelse till hundradelar?
CDbl löste problemet! Kanon!
Jag får fråga dig direkt nästa gång istället! ;-)
Tack så mycket!
/ Per