elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Otro de mis fallos :(
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Otro de mis fallos :(  (Leído 3,886 veces)
luis456


Desconectado Desconectado

Mensajes: 551



Ver Perfil
Otro de mis fallos :(
« en: 24 Septiembre 2014, 17:47 pm »

Tengo esta famosa rutina jejej :) y ahora se me ocurre dividir pero pero no sale :)

Código
  1. Result1 = {Num1 - 2, Num1 - 3, Num1 + 1, Num1 + 2, Num1 + 3} _
  2.        .Distinct().ToArray
  3.  
  4.  
  5. cuando le pongo el signo de divicion me sale error ??
  6.  
  7.  
  8. Result1 = {Num1 / 2, Num1 - 3, Num1 + 1, Num1 + 2, Num1 + 3} _
  9.        .Distinct().ToArray
  10.  
  11.  


error
No se puede convertir un valor de tipo '1-matriz dimensional de Double' en '1-matriz dimensional de Integer' debido a que 'Double' no se deriva de 'Integer'




En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Otro de mis fallos :(
« Respuesta #1 en: 24 Septiembre 2014, 17:57 pm »

No se puede convertir un valor de tipo '1-matriz dimensional de Double' en '1-matriz dimensional de Integer' debido a que 'Double' no se deriva de 'Integer'

Básicamente estás asignando un valor de tipo double, fruto de la división, dentro de un array de enteros. La división implica una parte decimal, por lo que tendrás que hacer un cast a Int.

En cristiano...
Código
  1. Result1 = {Convert.ToInt32(Num1 / 2), Num1 - 3, Num1 + 1, Num1 + 2, Num1 + 3} _
  2.       .Distinct().ToArray
  3.  

Espero haber sido de ayuda.

Saludos!


En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

luis456


Desconectado Desconectado

Mensajes: 551



Ver Perfil
Re: Otro de mis fallos :(
« Respuesta #2 en: 24 Septiembre 2014, 18:16 pm »

Básicamente estás asignando un valor de tipo double, fruto de la división, dentro de un array de enteros. La división implica una parte decimal, por lo que tendrás que hacer un cast a Int.

En cristiano...
Código
  1. Result1 = {Convert.ToInt32(Num1 / 2), Num1 - 3, Num1 + 1, Num1 + 2, Num1 + 3} _
  2.       .Distinct().ToArray
  3.  

Espero haber sido de ayuda.

Saludos!


Perfecto gracias  por una respuesta tan rapida :)


saludos
Luis

 

En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Otro de mis fallos :(
« Respuesta #3 en: 24 Septiembre 2014, 18:28 pm »

Convertir a entero es realizar una conversion innecesarias, para evitarlo debes utilizar el operador de división correcto (el de enteros).


\ Operator
Divides two numbers and returns an integer result.

/ Operator
Divides two numbers and returns a floating-point result.

Nota: Si además quieres obtener el pico más alto o el más bajo de la división, eso ya sería otro tema, mira el método Math.Ceiling() y Math.Floor() y el resto de los métodos de esa Class.

Saludos.
« Última modificación: 24 Septiembre 2014, 18:35 pm por Eleкtro » En línea



luis456


Desconectado Desconectado

Mensajes: 551



Ver Perfil
Re: Otro de mis fallos :(
« Respuesta #4 en: 24 Septiembre 2014, 18:41 pm »

Convertir a entero es realizar una conversion innecesarias, para evitarlo debes utilizar el operador de división correcto (el de enteros).


\ Operator
Divides two numbers and returns an integer result.

/ Operator
Divides two numbers and returns a floating-point result.

Nota: Si además quieres obtener el pico más alto o el más bajo de la división, eso ya sería otro tema, mira el método Math.Ceiling() y Math.Floor() y el resto de los métodos de esa Class.

Saludos.

Gracias Elektro

Jo no sabia de tantas formas mmm  , me alegra ya que me meto en mas historias de calculos pero ya sabes elektro   lo que "  se avecina  " jajajjaj

saludos espero que estes bien

Luis


En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Otro de mis fallos :(
« Respuesta #5 en: 24 Septiembre 2014, 19:06 pm »

Convertir a entero es realizar una conversion innecesarias, para evitarlo debes utilizar el operador de división correcto (el de enteros).


\ Operator
Divides two numbers and returns an integer result.

/ Operator
Divides two numbers and returns a floating-point result.

Nota: Si además quieres obtener el pico más alto o el más bajo de la división, eso ya sería otro tema, mira el método Math.Ceiling() y Math.Floor() y el resto de los métodos de esa Class.

Saludos.
Tampoco sabía eso de la barra inversa retornaba el resultado a entero  :o :o esto aplica para .net en general? o es en varios lenguajes?
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Otro de mis fallos :(
« Respuesta #6 en: 24 Septiembre 2014, 21:28 pm »

esto aplica para .net en general? o es en varios lenguajes?

Se aplica a VB.Net (no a C#), no se si habrá otros lenguajes que compartan esta ventaja similitud de diseño, pero por el momento no lo he notado.

Saludos!
« Última modificación: 24 Septiembre 2014, 21:32 pm por Eleкtro » En línea



Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Otro de mis fallos :(
« Respuesta #7 en: 24 Septiembre 2014, 21:40 pm »

Se aplica a VB.Net (no a C#), no se si habrá otros lenguajes que compartan esta ventaja similitud de diseño, pero por el momento no lo he notado.

Saludos!

Ahh!! ok, gracias, ahora me quedo mas tranquilo (no toco vb.net no me agrada su sintaxis)  :xD

Saludos!
En línea

luis456


Desconectado Desconectado

Mensajes: 551



Ver Perfil
Re: Otro de mis fallos :(
« Respuesta #8 en: 25 Septiembre 2014, 03:06 am »

Realmente funciona :)


Código
  1. Result2 = {Num2 + 1, Num2 + 2, Num2 + 3, Num2 \ 1, Num2 \ 2} _
  2.                  .Distinct().ToArray


Gracias elektro

Luis
En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines