Decimales

30/11/2004 - 14:29 por Eugenia Moya | Informe spam
Hola a todos! mi pregunta es la siguiente, tengo este valor

string sValor = "250";
IFormatProvider fp = new CultureInfo("en-US");
double doub = Convert.ToDouble(sValor , fp);

esto da doub = 250.0 y yo quiero que me de: 250.00, sin usar el
.toString("###.##"), quiero el valor double.
Tambien intenté double.parse(sValor) => 250.0
Gracias!!

Preguntas similare

Leer las respuestas

#6 pablo crosio
30/11/2004 - 16:39 | Informe spam
quizas el tema pasa porque quiera redondear a 2 decimales... ¿sera eso?

salu2!!

pablo

"Jose Luis Manners" escribió:

Hola Eugenia,

Estoy de acuerdo con Pablo. Para efectos aritmeticos no hace diferencia.
Pero quizas tengas algun otro proposito del cual no hemos pensado.

Saludos,

Jose Luis Manners, MCP
http://blogs.geekdojo.net/jmanners

"Encuentra felicidad en tu trabajo o nunca serás feliz."
Cristóbal Colón

"pablo crosio" wrote in message
news:
>
> barbaro pero. ¿podrias especificar el por que? no entiendo cual es
tu
> problema de tener un decimal, dos, tres, cuatro, etc, si siempre son 0.
>
> salu2!!
>
> pablo
>
> "Eugenia Moya" escribió:
>
> > El problema es que quiero solo 2 decimales.
> >
> > "pablo crosio" wrote:
> >
> > >
> > > duda:
> > >
> > > si estas trabajando con numeros de doble precision (no con strings);
cual es
> > > la diferencia entre 250.0 y 250.00 o 250.00000000000?
> > >
> > > no me queda claro lo que necesitas hacer... podrias exponer cual es el
> > > problema que tenes?
> > >
> > > salu2!!
> > >
> > > pablo
> > >
> > > "Eugenia Moya" escribió:
> > >
> > > > Hola a todos! mi pregunta es la siguiente, tengo este valor
> > > >
> > > > string sValor = "250";
> > > > IFormatProvider fp = new CultureInfo("en-US");
> > > > double doub = Convert.ToDouble(sValor , fp);
> > > >
> > > > esto da doub = 250.0 y yo quiero que me de: 250.00, sin usar el
> > > > .toString("###.##"), quiero el valor double.
> > > > Tambien intenté double.parse(sValor) => 250.0
> > > > Gracias!!
> > > >



Respuesta Responder a este mensaje
#7 Eugenia Moya
30/11/2004 - 16:57 | Informe spam
Te voy a dar otro ejemplo mas peligroso (en base a lo que escribi en el mail
anterior):
leo 90531, y el usuario especifica que es un decimal con 3 posciones
decimales.
debo trabajar con ese numero como un double 90.531 (con ese numero debo
hacer operaciones numericas asique debe estar muy bien leido)
otro ejemplo 9003 y decirme que es un double con 1 posicion decimal.
entonces debo trabajar con 900.3

"Jose Luis Manners" wrote:

Hola Eugenia,

Estoy de acuerdo con Pablo. Para efectos aritmeticos no hace diferencia.
Pero quizas tengas algun otro proposito del cual no hemos pensado.

Saludos,

Jose Luis Manners, MCP
http://blogs.geekdojo.net/jmanners

"Encuentra felicidad en tu trabajo o nunca serás feliz."
Cristóbal Colón

"pablo crosio" wrote in message
news:
>
> barbaro pero. ¿podrias especificar el por que? no entiendo cual es
tu
> problema de tener un decimal, dos, tres, cuatro, etc, si siempre son 0.
>
> salu2!!
>
> pablo
>
> "Eugenia Moya" escribió:
>
> > El problema es que quiero solo 2 decimales.
> >
> > "pablo crosio" wrote:
> >
> > >
> > > duda:
> > >
> > > si estas trabajando con numeros de doble precision (no con strings);
cual es
> > > la diferencia entre 250.0 y 250.00 o 250.00000000000?
> > >
> > > no me queda claro lo que necesitas hacer... podrias exponer cual es el
> > > problema que tenes?
> > >
> > > salu2!!
> > >
> > > pablo
> > >
> > > "Eugenia Moya" escribió:
> > >
> > > > Hola a todos! mi pregunta es la siguiente, tengo este valor
> > > >
> > > > string sValor = "250";
> > > > IFormatProvider fp = new CultureInfo("en-US");
> > > > double doub = Convert.ToDouble(sValor , fp);
> > > >
> > > > esto da doub = 250.0 y yo quiero que me de: 250.00, sin usar el
> > > > .toString("###.##"), quiero el valor double.
> > > > Tambien intenté double.parse(sValor) => 250.0
> > > > Gracias!!
> > > >



Respuesta Responder a este mensaje
#8 Jose Luis Manners
30/11/2004 - 17:47 | Informe spam
Eugenia, si necesitas tanta precisión te recomiendo usar una variable tipo
"decimal" en lugar de double.

Saludos,

Jose Luis Manners, MCP
http://blogs.geekdojo.net/jmanners

"Encuentra felicidad en tu trabajo o nunca serás feliz."
Cristóbal Colón

"Eugenia Moya" wrote in message
news:
Te voy a dar otro ejemplo mas peligroso (en base a lo que escribi en el


mail
anterior):
leo 90531, y el usuario especifica que es un decimal con 3 posciones
decimales.
debo trabajar con ese numero como un double 90.531 (con ese numero debo
hacer operaciones numericas asique debe estar muy bien leido)
otro ejemplo 9003 y decirme que es un double con 1 posicion decimal.
entonces debo trabajar con 900.3

"Jose Luis Manners" wrote:

> Hola Eugenia,
>
> Estoy de acuerdo con Pablo. Para efectos aritmeticos no hace


diferencia.
> Pero quizas tengas algun otro proposito del cual no hemos pensado.
>
> Saludos,
>
> Jose Luis Manners, MCP
> http://blogs.geekdojo.net/jmanners
>
> "Encuentra felicidad en tu trabajo o nunca serás feliz."
> Cristóbal Colón
>
> "pablo crosio" wrote in message
> news:
> >
> > barbaro pero. ¿podrias especificar el por que? no entiendo cual


es
> tu
> > problema de tener un decimal, dos, tres, cuatro, etc, si siempre son


0.
> >
> > salu2!!
> >
> > pablo
> >
> > "Eugenia Moya" escribió:
> >
> > > El problema es que quiero solo 2 decimales.
> > >
> > > "pablo crosio" wrote:
> > >
> > > >
> > > > duda:
> > > >
> > > > si estas trabajando con numeros de doble precision (no con


strings);
> cual es
> > > > la diferencia entre 250.0 y 250.00 o 250.00000000000?
> > > >
> > > > no me queda claro lo que necesitas hacer... podrias exponer cual


es el
> > > > problema que tenes?
> > > >
> > > > salu2!!
> > > >
> > > > pablo
> > > >
> > > > "Eugenia Moya" escribió:
> > > >
> > > > > Hola a todos! mi pregunta es la siguiente, tengo este valor
> > > > >
> > > > > string sValor = "250";
> > > > > IFormatProvider fp = new CultureInfo("en-US");
> > > > > double doub = Convert.ToDouble(sValor , fp);
> > > > >
> > > > > esto da doub = 250.0 y yo quiero que me de: 250.00, sin usar el
> > > > > .toString("###.##"), quiero el valor double.
> > > > > Tambien intenté double.parse(sValor) => 250.0
> > > > > Gracias!!
> > > > >
>
>
>
Respuesta Responder a este mensaje
#9 pablo crosio
30/11/2004 - 18:03 | Informe spam
hola!

siguiendo la recomendacion de jose luis, fijate si te srive esto

podrias leer la informacion del lector como un string, luego en base a lo
que el usuario especifique convertis a decimal.
deberias ademas hacer control de consistencia, etc etc

// info del lector
string s = "54356565";
// decimales
int d = 3;
// numero
decimal n = Convert.ToDecimal(new
System.Text.StringBuilder(s).Insert(s.Length - d, '.').ToString(), new
System.Globalization.CultureInfo("en-US"));

en n tenes el numero decimal para trabajarlo

espero te sirva

salu2!!

pablo

"Eugenia Moya" escribió:

Te voy a dar otro ejemplo mas peligroso (en base a lo que escribi en el mail
anterior):
leo 90531, y el usuario especifica que es un decimal con 3 posciones
decimales.
debo trabajar con ese numero como un double 90.531 (con ese numero debo
hacer operaciones numericas asique debe estar muy bien leido)
otro ejemplo 9003 y decirme que es un double con 1 posicion decimal.
entonces debo trabajar con 900.3

"Jose Luis Manners" wrote:

> Hola Eugenia,
>
> Estoy de acuerdo con Pablo. Para efectos aritmeticos no hace diferencia.
> Pero quizas tengas algun otro proposito del cual no hemos pensado.
>
> Saludos,
>
> Jose Luis Manners, MCP
> http://blogs.geekdojo.net/jmanners
>
> "Encuentra felicidad en tu trabajo o nunca serás feliz."
> Cristóbal Colón
>
> "pablo crosio" wrote in message
> news:
> >
> > barbaro pero. ¿podrias especificar el por que? no entiendo cual es
> tu
> > problema de tener un decimal, dos, tres, cuatro, etc, si siempre son 0.
> >
> > salu2!!
> >
> > pablo
> >
> > "Eugenia Moya" escribió:
> >
> > > El problema es que quiero solo 2 decimales.
> > >
> > > "pablo crosio" wrote:
> > >
> > > >
> > > > duda:
> > > >
> > > > si estas trabajando con numeros de doble precision (no con strings);
> cual es
> > > > la diferencia entre 250.0 y 250.00 o 250.00000000000?
> > > >
> > > > no me queda claro lo que necesitas hacer... podrias exponer cual es el
> > > > problema que tenes?
> > > >
> > > > salu2!!
> > > >
> > > > pablo
> > > >
> > > > "Eugenia Moya" escribió:
> > > >
> > > > > Hola a todos! mi pregunta es la siguiente, tengo este valor
> > > > >
> > > > > string sValor = "250";
> > > > > IFormatProvider fp = new CultureInfo("en-US");
> > > > > double doub = Convert.ToDouble(sValor , fp);
> > > > >
> > > > > esto da doub = 250.0 y yo quiero que me de: 250.00, sin usar el
> > > > > .toString("###.##"), quiero el valor double.
> > > > > Tambien intenté double.parse(sValor) => 250.0
> > > > > Gracias!!
> > > > >
>
>
>
Respuesta Responder a este mensaje
#10 Eugenia Moya
30/11/2004 - 18:33 | Informe spam
Excelente!! anduvo muy bien.. ha sido de gran ayuda.
Podrias explicarme como funciona ese codigo?
Ademas System.Globalization.CultureInfo("en-US") me muestra los datos con
"," como hago para que sea "."
Muchas Gracias.

"pablo crosio" wrote:


hola!

siguiendo la recomendacion de jose luis, fijate si te srive esto

podrias leer la informacion del lector como un string, luego en base a lo
que el usuario especifique convertis a decimal.
deberias ademas hacer control de consistencia, etc etc

// info del lector
string s = "54356565";
// decimales
int d = 3;
// numero
decimal n = Convert.ToDecimal(new
System.Text.StringBuilder(s).Insert(s.Length - d, '.').ToString(), new
System.Globalization.CultureInfo("en-US"));

en n tenes el numero decimal para trabajarlo

espero te sirva

salu2!!

pablo

"Eugenia Moya" escribió:

> Te voy a dar otro ejemplo mas peligroso (en base a lo que escribi en el mail
> anterior):
> leo 90531, y el usuario especifica que es un decimal con 3 posciones
> decimales.
> debo trabajar con ese numero como un double 90.531 (con ese numero debo
> hacer operaciones numericas asique debe estar muy bien leido)
> otro ejemplo 9003 y decirme que es un double con 1 posicion decimal.
> entonces debo trabajar con 900.3
>
> "Jose Luis Manners" wrote:
>
> > Hola Eugenia,
> >
> > Estoy de acuerdo con Pablo. Para efectos aritmeticos no hace diferencia.
> > Pero quizas tengas algun otro proposito del cual no hemos pensado.
> >
> > Saludos,
> >
> > Jose Luis Manners, MCP
> > http://blogs.geekdojo.net/jmanners
> >
> > "Encuentra felicidad en tu trabajo o nunca serás feliz."
> > Cristóbal Colón
> >
> > "pablo crosio" wrote in message
> > news:
> > >
> > > barbaro pero. ¿podrias especificar el por que? no entiendo cual es
> > tu
> > > problema de tener un decimal, dos, tres, cuatro, etc, si siempre son 0.
> > >
> > > salu2!!
> > >
> > > pablo
> > >
> > > "Eugenia Moya" escribió:
> > >
> > > > El problema es que quiero solo 2 decimales.
> > > >
> > > > "pablo crosio" wrote:
> > > >
> > > > >
> > > > > duda:
> > > > >
> > > > > si estas trabajando con numeros de doble precision (no con strings);
> > cual es
> > > > > la diferencia entre 250.0 y 250.00 o 250.00000000000?
> > > > >
> > > > > no me queda claro lo que necesitas hacer... podrias exponer cual es el
> > > > > problema que tenes?
> > > > >
> > > > > salu2!!
> > > > >
> > > > > pablo
> > > > >
> > > > > "Eugenia Moya" escribió:
> > > > >
> > > > > > Hola a todos! mi pregunta es la siguiente, tengo este valor
> > > > > >
> > > > > > string sValor = "250";
> > > > > > IFormatProvider fp = new CultureInfo("en-US");
> > > > > > double doub = Convert.ToDouble(sValor , fp);
> > > > > >
> > > > > > esto da doub = 250.0 y yo quiero que me de: 250.00, sin usar el
> > > > > > .toString("###.##"), quiero el valor double.
> > > > > > Tambien intenté double.parse(sValor) => 250.0
> > > > > > Gracias!!
> > > > > >
> >
> >
> >
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida