Decimales

22/07/2005 - 19:50 por Ruben | Informe spam
Buenas ;).

Mi problema es el siguiente:

Estoy desarrolando una herramienta en c# que entre otras
cosas tiene que acceder a BBDD (uso como sistema gestor
MySql), y mi problema es las variables que uso son tipo
double en mi programa (como 3,14) y MySql solo acepta
decimales con "." (como 3.14).

Que puedo hacer??? Muchas gracias ;)

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
23/07/2005 - 00:31 | Informe spam
Rubén,

- De todos modos, las constantes de tipo double en C# las tienes que
escribir con el punto, por ejemplo:

double importe = 50.75;

- Te recomendaría usar siempre sentencias SQL parameterizadas, con lo que
evitarás la inyección de SQL y obtendrás un mejor rendimiento. En ese caso,
no habría necesidad de poner las constantes de forma textual en las
sentencias.

- Si de todos modos necesitar formatear números como cadenas, utiliza la
cultura en-US:

http://msdn.microsoft.com/library/d...trings.asp

Slds,

Octavio

"Ruben" escribió en el mensaje
news:094701c58ee5$defc9f80$
Buenas ;).

Mi problema es el siguiente:

Estoy desarrolando una herramienta en c# que entre otras
cosas tiene que acceder a BBDD (uso como sistema gestor
MySql), y mi problema es las variables que uso son tipo
double en mi programa (como 3,14) y MySql solo acepta
decimales con "." (como 3.14).

Que puedo hacer??? Muchas gracias ;)
Respuesta Responder a este mensaje
#2 Ruben
23/07/2005 - 03:21 | Informe spam
Gracias por contestar.

El problema es que aunque las constantes double se
escriban con "." , mi configuracion regional hace que por
pantalla salgan con ","

La solucion que he tomado es:
CultureInfo cultura = new CultureInfo
(CultureInfo.CurrentCulture.ToString());
NumberFormatInfo nfi=cultura.NumberFormat;
nfi.NumberDecimalSeparator=".";

y cuando muestro los numeros hago: num.ToString(nfi)
con lo que ya me sale con el "."
(asique mi sentencia sql seria algo como:
select ... from ... where id="+numero.ToString(nfi)+"...)

Me gusta lo que propones de sentencias SQL parametrizadas,
podrias indicarme como hacerlo??

Muchas Gracias ;)


Rubén,

- De todos modos, las constantes de tipo double en C# las


tienes que
escribir con el punto, por ejemplo:

double importe = 50.75;

- Te recomendaría usar siempre sentencias SQL


parameterizadas, con lo que
evitarás la inyección de SQL y obtendrás un mejor


rendimiento. En ese caso,
no habría necesidad de poner las constantes de forma


textual en las
sentencias.

- Si de todos modos necesitar formatear números como


cadenas, utiliza la
cultura en-US:

http://msdn.microsoft.com/library/default.asp?


url=/library/en-
us/cpguide/html/cpconstandardnumericformatstrings.asp

Slds,

Octavio

"Ruben" escribió en


el mensaje
news:094701c58ee5$defc9f80$
Buenas ;).

Mi problema es el siguiente:

Estoy desarrolando una herramienta en c# que entre otras
cosas tiene que acceder a BBDD (uso como sistema gestor
MySql), y mi problema es las variables que uso son tipo
double en mi programa (como 3,14) y MySql solo acepta
decimales con "." (como 3.14).

Que puedo hacer??? Muchas gracias ;)




.

Respuesta Responder a este mensaje
#3 Benton
23/07/2005 - 17:10 | Informe spam
Me gusta lo que propones de sentencias SQL parametrizadas,
podrias indicarme como hacerlo??



http://msdn.microsoft.com/library/s...elines.asp

Saludos,

-Benton


"Ruben" escribió en el mensaje
news:07ec01c58f24$dbccbdb0$
Gracias por contestar.

El problema es que aunque las constantes double se
escriban con "." , mi configuracion regional hace que por
pantalla salgan con ","

La solucion que he tomado es:
CultureInfo cultura = new CultureInfo
(CultureInfo.CurrentCulture.ToString());
NumberFormatInfo nfi=cultura.NumberFormat;
nfi.NumberDecimalSeparator=".";

y cuando muestro los numeros hago: num.ToString(nfi)
con lo que ya me sale con el "."
(asique mi sentencia sql seria algo como:
select ... from ... where id="+numero.ToString(nfi)+"...)


Muchas Gracias ;)


Rubén,

- De todos modos, las constantes de tipo double en C# las


tienes que
escribir con el punto, por ejemplo:

double importe = 50.75;

- Te recomendaría usar siempre sentencias SQL


parameterizadas, con lo que
evitarás la inyección de SQL y obtendrás un mejor


rendimiento. En ese caso,
no habría necesidad de poner las constantes de forma


textual en las
sentencias.

- Si de todos modos necesitar formatear números como


cadenas, utiliza la
cultura en-US:

http://msdn.microsoft.com/library/default.asp?


url=/library/en-
us/cpguide/html/cpconstandardnumericformatstrings.asp

Slds,

Octavio

"Ruben" escribió en


el mensaje
news:094701c58ee5$defc9f80$
Buenas ;).

Mi problema es el siguiente:

Estoy desarrolando una herramienta en c# que entre otras
cosas tiene que acceder a BBDD (uso como sistema gestor
MySql), y mi problema es las variables que uso son tipo
double en mi programa (como 3,14) y MySql solo acepta
decimales con "." (como 3.14).

Que puedo hacer??? Muchas gracias ;)




.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida