Ir para conteúdo

Arquivado

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

webdesign

utilizar o ponto ao inves da virgula

Recommended Posts

é o seguinte tenho este código, só que estou com um problema

 

eu quando coloco 6.8 no dc e carrego no calcular ele dá 421--->está errrado.

mas quando colo 6,8 e dá os parametros certos..2500--->parâmetros certos--->com a virgula funciona bem

 

existe alguma forma,de colocar ela a funcionar, pelo ponto

 

 Dim você As Integer = 90000
Const Pi As Double = 3.14159265358979
Dim Dc As Decimal
Dim rotaMaxima As Decimal
Dim Rot As Decimal
Dim avanco As Decimal
Dim texts As Decimal


   	texts = txt_Rotacao.Text
   	Dc = txt_diametro.Text
   	rotaMaxima = txt_Rotacao.Text
   	Rot = você / Pi / Dc

   	If Dc >= 4 And Dc < 6 Then
       	avanco = Rot * 0.12
   	ElseIf Dc >= 6 And Dc < 8 Then
       	avanco = Rot * 0.15
   	ElseIf Dc >= 8 And Dc < 10 Then
       	avanco = Rot * 0.17
   	ElseIf Dc >= 10 And Dc < 12 Then
       	avanco = Rot * 0.2
   	ElseIf Dc >= 12 And Dc < 14 Then
       	avanco = Rot * 0.22
   	ElseIf Dc >= 14 And Dc < 16 Then
       	avanco = Rot * 0.23
   	ElseIf Dc >= 16 And Dc < 100 Then
       	avanco = Rot * 0.25
   	Else

       	MsgBox("Parâmetros indisponíveis", 64, "Parâmetros indisponíveis")
       	Exit Sub

   	End If

   	rotaMaxima = rotaMaxima * avanco / Rot

   	If texts < Rot Then
       	MessageBox.Show("Atenção rotação Superior ao limite,os valores vao ser ajustados" & vbCrLf & "A rotação é: " & texts.ToString("F0") & vbCrLf & "O avanço é: " & rotaMaxima.ToString("F0"), "Parâmetros de corte")
   	ElseIf texts > Rot Then
       	MessageBox.Show("Parametros Originais" & vbCrLf & "A rotação é: " & Rot.ToString("F0") & vbCrLf & "O avanço é: " & avanco.ToString("F0"), "Parâmetros de corte")
   	End If
End Sub
Private Sub Multiplex_MD_1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


End Sub
Private Sub Retr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Retr.Click
   	Moldit_Programa.Show()
   	Me.Close()
End Sub

Private Sub Sair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Sair.Click
   	Close()
End Sub

Private Sub txt_Rotacao_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_Rotacao.TextChanged

End Sub

Private Sub txt_diametro_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_diametro.TextChanged

End Sub

Private Sub Rot_Maxima_Click(sender As System.Object, e As System.EventArgs) Handles Rot_Maxima.Click

End Sub
End Class

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando você for jogar para a variável este valor, use o comando String.Replace(".",",") ai você substitui o ponto que o usuário digitou pela virgula que é aceita pelo sistema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando você for jogar para a variável este valor, use o comando String.Replace(".",",") ai você substitui o ponto que o usuário digitou pela virgula que é aceita pelo sistema.

 

não estou entender muito bem esse comando, vou tentar explicar melhor .. é que não sei onde aplicar esse string.replace..

 

eu já tentei em todos...

 

 

Dim Dc As Decimal

--> aqui é onde declaro o campo dc ---> este campo é onde coloco os valores por virgula para depois calcular com o restante--> mas eu quero colocar virgula mas sim o ponto...

 

ou é neste

 Dc = txt_diametro.Text

 

Istu deve ser facil e devo estár a complicar, se puder ajudar agradecia mesmo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não está convertendo os dados.

Dim Dc as decimal = Convert.ToDecimal(txt_diametro.Text)

 

O VB só entende a vírgula dentro da programação decimal, então você vai ter que transformar seu ponto em uma vírgula, e você faz isso "enganando" o sistema, você digita o ponto, mas na hora de calcular e jogar para a variável você substitui o ponto pela virgula.

 

Dim dc As Decimal = Convert.ToDecimal(TextBox1.Text.Replace(",", "."))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não está convertendo os dados.

Dim Dc as decimal = Convert.ToDecimal(txt_diametro.Text)

 

O VB só entende a vírgula dentro da programação decimal, então você vai ter que transformar seu ponto em uma vírgula, e você faz isso "enganando" o sistema, você digita o ponto, mas na hora de calcular e jogar para a variável você substitui o ponto pela virgula.

 

Dim dc As Decimal = Convert.ToDecimal(TextBox1.Text.Replace(",", "."))

 

ou seja tenho que converter todos os dados ou só o o campo dc..

 

eu mal coloquei este código

Dim Dc as decimal = Convert.ToDecimal(txt_diametro.Text)

ele mandou-me ir para o menu --> onde chamo o form,

solidas_1730.Show()

 

Ocorreu um erro ao criar o formulário. Consulte a Exception.InnerException para obter detalhes. O erro é: A referência de objecto não foi definida como uma instância de um objecto."}

 

 

Agora experimentei assim e nada dá vai para o menu

  Dim você As Integer = 90000
Const Pi As Double = 3.14159265358979
Dim dc As Decimal = Convert.ToDecimal(txt_diametro.Text.Replace(",", "."))
Dim rotaMaxima As Decimal
Dim Rot As Decimal
Dim avanco As Decimal
Dim texts As Decimal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você vai ter que explicar melhor os erros da sua aplicação, em que linha ele dá o erro? Você criou a variável "você" com acento? Se sim pode tirar o acento. Dê mais informações sobre sua aplicação porque eu estou tentando supor como ela funciona...

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.