Lo que debes hacer para corregirlo es simplemente evitar castear un string VACÍO a esa variable Double, eso es lo que estás haciendo en alguna parte del código, así que comprueba los métodos que se llaman al iniciar tu app;
esto lo puedes controlar haciendo un chequeo al string con la función 'String.IsNullOrEmpty' o también 'String.IsNullOrWhiteSpace', o la función Enumerable.All o Enumerable.Any para evaluar una condición en los caracteres, o haciendo uso de la función 'Double.TryParse'.
Una combinación de todo:
Notas:
· La función 'Double.TryParse' intentará convertir la cadena de 'String' a tipo 'Double', devolviendo 'False' si la conversión ha fallado, o 'True' si la conversión ha tenido éxito.
· Si la conversión falla, el valor que se le asigna a la variable referenciada de tipo 'Double' será '0',
si la conversión tiene éxito, obviamente el valor de la variable referenciada pasa a ser el valor que se ha convertido.
Saludos!
esto lo puedes controlar haciendo un chequeo al string con la función 'String.IsNullOrEmpty' o también 'String.IsNullOrWhiteSpace', o la función Enumerable.All o Enumerable.Any para evaluar una condición en los caracteres, o haciendo uso de la función 'Double.TryParse'.
Una combinación de todo:
Código (vbnet) [Seleccionar]
Dim num As Double
Dim str As String = ""
If String.IsNullOrEmpty(str) Then
MessageBox.Show("La variable 'str' está vacía.")
ElseIf Not str.All(Function(c As Char) Char.IsNumber(c)) Then
MessageBox.Show("La variable 'str' contiene caracteres no numéricos.")
ElseIf Not Double.TryParse(str, num) Then
MessageBox.Show("La variable 'str' tiene un formato incorrecto.")
End If
MessageBox.Show("Nuevo valor: " & num)
Notas:
· La función 'Double.TryParse' intentará convertir la cadena de 'String' a tipo 'Double', devolviendo 'False' si la conversión ha fallado, o 'True' si la conversión ha tenido éxito.
· Si la conversión falla, el valor que se le asigna a la variable referenciada de tipo 'Double' será '0',
si la conversión tiene éxito, obviamente el valor de la variable referenciada pasa a ser el valor que se ha convertido.
Saludos!