Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[vb] Anno Bisestile

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

[vb] Anno Bisestile

Messaggioda Eclisse » mar gen 06, 2004 12:42 pm

Sto facendo un software in vb 6.0 per la gestione di turni di impiegati. Il mio problema è molto semplice. Devo fare un controllo sulla data; più precisamente controllare se l'anno corrente è bisestile. Il procedimento è questo: un anno è bisestile se è divisibile per 4 con l'eccezione degli anni divisibili per 100 che sono bisestili se sono divisibili per 400. La domanda è questa: come faccio a controllare se il risultato di una divisione è un numero intero o no?Cioè esiste una funzione ad esempio booleana(tipo IsNumeric) che mi restituisce un valore True se il risultato della divisione è un numero intero o False se il risultato è un numero decimale?

grazie[?]
Avatar utente
Eclisse
Neo Iscritto
Neo Iscritto
 
Messaggi: 1
Iscritto il: mar gen 06, 2004 12:38 pm
Località: Puglia

[vb] Anno Bisestile

Messaggioda Eclisse » mar gen 06, 2004 12:42 pm

Sto facendo un software in vb 6.0 per la gestione di turni di impiegati. Il mio problema è molto semplice. Devo fare un controllo sulla data; più precisamente controllare se l'anno corrente è bisestile. Il procedimento è questo: un anno è bisestile se è divisibile per 4 con l'eccezione degli anni divisibili per 100 che sono bisestili se sono divisibili per 400. La domanda è questa: come faccio a controllare se il risultato di una divisione è un numero intero o no?Cioè esiste una funzione ad esempio booleana(tipo IsNumeric) che mi restituisce un valore True se il risultato della divisione è un numero intero o False se il risultato è un numero decimale?

grazie[?]
Avatar utente
Eclisse
Neo Iscritto
Neo Iscritto
 
Messaggi: 1
Iscritto il: mar gen 06, 2004 12:38 pm
Località: Puglia

Messaggioda Leo » mar gen 06, 2004 1:21 pm

Il modo più semplice che mi viene in mente è fare la divisione normale (con il solito operatore /) e poi farne la divisione intera (con l'operatore mod). Se i due numeri sono uguali, significa che la prima operazione ha resto 0.

Questo è il primo metodo che mi è venuto in mente, probabilmente ce ne sono altri più semplici...
Avatar utente
Leo
Silver Member
Silver Member
 
Messaggi: 1683
Iscritto il: lun ago 05, 2002 9:36 am
Località: Ferrara


Messaggioda M@ttia » mar gen 06, 2004 3:17 pm

Non ti serve confrontare niente, in quanto il comando mod esprime già il resto di una divisione: es:

Codice: Seleziona tutto
10 Mod 3 = 1
(10 diviso 3 da resto 1...). Quindi tu dici "If Num1 Mod Num2=0 Then ..." [^]
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Messaggioda M@ttia » mar gen 06, 2004 3:18 pm

Se vuoi guarda qui, è banale ma c'è...
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Messaggioda erosmax » gio feb 12, 2004 2:11 pm

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">citazione:<hr height="1" noshade id="quote"><i>Messaggio inserito da Eclisse</i>
<br />Sto facendo un software in vb 6.0 per la gestione di turni di impiegati. Il mio problema è molto semplice. Devo fare un controllo sulla data; più precisamente controllare se l'anno corrente è bisestile. Il procedimento è questo: un anno è bisestile se è divisibile per 4 con l'eccezione degli anni divisibili per 100 che sono bisestili se sono divisibili per 400. La domanda è questa: come faccio a controllare se il risultato di una divisione è un numero intero o no?Cioè esiste una funzione ad esempio booleana(tipo IsNumeric) che mi restituisce un valore True se il risultato della divisione è un numero intero o False se il risultato è un numero decimale?

grazie[?]
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">

usa il mod, questa è la giusta sintassi del controllo degli anni bisestili.


'Controllo BISESTILE
If mese = 2 And (anno Mod 4 = 0 And (anno Mod 400 = 0 Or anno Mod 100 <> 0)) Then GiorniTOT = 29

ciao
Avatar utente
erosmax
Neo Iscritto
Neo Iscritto
 
Messaggi: 16
Iscritto il: mer feb 11, 2004 11:20 am


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising