sterla Posted November 29, 2005 Share Posted November 29, 2005 ciao sono alle prime armi e dovrei in un algoritmo trasformare una certa quantità di secondi in ore, minuti e secondi se qualcuno mi può aiutare grasie miles Link to comment Share on other sites More sharing options...
johndoe Posted November 29, 2005 Share Posted November 29, 2005 (edited) Dunque. Se S sono i secondi hh=trunc(S/3600) S=S-h*3600 mm=trunc(S/60) ss=S-mm*60 Dove hh=ore, mm=minuti, ss=secondi e trunc tronca un numero decimale (niente arrotondamento) EDIT: in ufficio dovrei avere una versione + ottimizzata Edited November 29, 2005 by johndoe Link to comment Share on other sites More sharing options...
sterla Posted November 29, 2005 Author Share Posted November 29, 2005 (edited) grazie mille pultroppo però se inseisco un valore tipo 10000, mi dà 3 ore, -13 minuti, -20 secondi, o metto 100 sec e mi dà 2 min e -20 sec invece di 1 min e 40 sec qualche consiglio? ah poi iio lo stò facendo in visual basic su excel e il trunc nn lo uso ciao e grasie Edited November 29, 2005 by sterla Link to comment Share on other sites More sharing options...
johndoe Posted December 2, 2005 Share Posted December 2, 2005 In VB su Excel se non sbaglio basta che dividi tutto per 100000 e poi gli chiedi di rappresentarlo come ora Comunque, al posto di trunc c'è Fix Chiaramente se non usi trunc (Fix) l'algoritmo sbarella. 100 secondi infatti ti deve dare 0h, 1 min (100/60 1 e qualche cosa, non capisco come ti venga 2) e 40 sec. Link to comment Share on other sites More sharing options...
sterla Posted December 2, 2005 Author Share Posted December 2, 2005 (edited) si ma ma mi viene 2 minuti e poi -20 secondi xkè 100 sec. sono 2m-20 Edited December 2, 2005 by sterla Link to comment Share on other sites More sharing options...
johndoe Posted December 2, 2005 Share Posted December 2, 2005 Posta il codice che c'è qualcosa che non torna Link to comment Share on other sites More sharing options...
Kurt Posted December 2, 2005 Share Posted December 2, 2005 non conosco bene vb, cmq devi usare il corrispettivo vb di mod... mod (in turbo pascal, non mi ricordo com'è in c++ azz... faccio schifo... mi sembra sia %... cmq vabbè è solo una convenzione e in vb sarà sicuramente diverso) si usa per sapere il resto di una divisione... per esempio 5 mod 2 = 1 (si usa infatti spesso per sapere se un numero è pari o dispari)... in questo caso io farei così: hh=S/3600; S=S%3600; mm=S/60; ss=S%60; così dovrebbe andare imho Link to comment Share on other sites More sharing options...
johndoe Posted December 2, 2005 Share Posted December 2, 2005 hh=S/3600; Di questo devi prendere la parte intera troncata (Fix)S=S%3600; Che è equivalente a S-hh*3600, quindi alla fine hai proposto la stessa cosa Link to comment Share on other sites More sharing options...
Kurt Posted December 5, 2005 Share Posted December 5, 2005 hh=S/3600; Di questo devi prendere la parte intera troncata (Fix)S=S%3600; Che è equivalente a S-hh*3600, quindi alla fine hai proposto la stessa cosa 290955[/snapback] con la differenza che nel modo che ho detto io non si può andare in negativo Link to comment Share on other sites More sharing options...
Guest Vange Posted December 5, 2005 Share Posted December 5, 2005 mamma mia vb... adesso lo stanno rivoltando come un calzino, ma si devono portare dietro per compatibilità tutta la sozzeria vecchia... piuttosto usate visual j# se proprio non volete imparare c/c++ Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now