Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diegostf

numero e minutos!

Recommended Posts

Boa noite pessoal!

 

tenho uma duvida e gostaria da ajuda de voces!

 

estou tentando fazer o Seguinte, quando Digito por exemplo: 120 em um textbox o programa converter isso em horas!

por exemplo!

eu digito 120 ele me mostra 2 Horas!

eu digito 70 ele me mostra 1:10

eu digito 80 ele me mostre 1:20

e assim por diante....

 

eu tentei fazer o Seguinte!

 

 

DIM hora as integer

IF textbox.text <=60 THEN
hora = textbox.text
msgbox(Hora)
END IF

IF textbox.text >60 THEN
hora = textbox.text / 60
msgbox(hora.toString("#.##"))
END IF

entao quando eu mandava converter por Exemplo 70 Minutos que e igual a 1:10

ele me mostra o seguinte valor 1,1666666666667

ai por isso coloquei no msgbox (hora.toString("#.##")) para mostrar apenas 2 casas decimais!

e quando mando ele converter 70 Minutos ele me da o valor errado de 1:17 que no caso teria que ser 1:10

mando ele converter 80 Minutos que no caso seria 1:20 ele me mostra 1:33

nao sei porque ta dando o valor errado se alguem puder ajudar eu agradeço!

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa usar módulo nesse caso.

Se você dividir o número por 60, você vai ter a quantidade de horas. No seu exemplo deu 1.166666, arredondando uma hora.

Para saber os minutos use módulo (textbox.text % 60), no caso se o valor for 70, o resultado dessa conta será 10, que são seus 10 minutos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa usar módulo nesse caso.

Se você dividir o número por 60, você vai ter a quantidade de horas. No seu exemplo deu 1.166666, arredondando uma hora.

Para saber os minutos use módulo (textbox.text % 60), no caso se o valor for 70, o resultado dessa conta será 10, que são seus 10 minutos.

 

 

Entao Oenning

 

como estou começando a usar vb a pouco tempo me desculpe pela ignorancia, mais baseado em que voce disse teria que ficar assim? ou nao!

 

If TextBox.Text <= 60 Then
			hora = TextBox.Text
			MsgBox(hora)
		End If
		If TextBox.Text > 60 Then
			hora = module(textbox.text % 60)
			MsgBox(hora.ToString("#.##"))
	   End If

 

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quase, na verdade existe um problema com as variáveis, crie uma para minutos e outra para hora. Veja:

 

If TextBox.Text <= 60 Then
	minutos = TextBox.Text
	hora = "00"
	MsgBox(hora + ":" + minutos)
End If
If TextBox.Text > 60 Then
	hora = textbox.text / 60
	minutos = textbox.text % 60
	MsgBox(hora + ":" + minutos)
End If

Neste caso eu ignorei qualquer tipo de conversão de dados, quando você for fazer, terá que trabalhar nessa conversão e no arredondamento das horas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.