Java - Quitar el símbolo de la moneda de un tipo de dato money de postgreSQL

 
Vista:

Quitar el símbolo de la moneda de un tipo de dato money de postgreSQL

Publicado por Rodrigo (2 intervenciones) el 20/12/2019 07:54:56
Necesito quitar el símbolo de la moneda de un tipo de dato money de postgreSQL para guardarlo como un double, ya que lo obtengo de la siguiente manera: "$ 120.00" (por poner un ejemplo).

Hay alguna forma de quitarle el símbolo y solo obtener el 120.00?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public double montoGastos(){
 
    String sentenciaSQL = "select * from gasto";
    java.sql.ResultSet rs = null;
    rs = objConexion.consulta(sentenciaSQL);
 
    double monto = 0;
    int cantidad = 0;
 
    try {
        while(rs.next()){
            cantidad ++;
            for (int i = 0; i < cantidad; i++) {
                double gasto= rs.getDouble(2); //ACA ES DONDE LO QUIERO OBTENER
                monto =+ gasto;
            }
        }
    } catch (SQLException ex) {
        Logger.getLogger(DAOIngreso.class.getName()).log(Level.SEVERE, null, ex);
    }
 
    return monto;
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 186
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Quitar el símbolo de la moneda de un tipo de dato money de postgreSQL

Publicado por Juan (70 intervenciones) el 20/12/2019 10:30:45
Hola rodrigo, tengo tiempo sin usar base de datos en java. a ver si te puedo ayudar jeje. No entiendo muy bien que es lo que quieres hacer, si sumar todos los montos o que. ya que tu consulta es "select * from gasto" por lo tanto imagino que no quieres obtener un monto específico si no la suma de todos ellos. y para sumarlos quieres pasarlo a Double. no entiendo muy bien la función del for dentro el while. yo creo si no me equivoco que de esta forma te funciona:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public double montoGastos(){
 
    String sentenciaSQL = "select * from gasto";
    java.sql.ResultSet rs = null;
    rs = objConexion.consulta(sentenciaSQL);
 
    double monto = 0;
 
    try {
        while(rs.next()){
            double gasto= Double.parseDouble(rs.getString(2).substring(1,rs.getString(2).length()));
            monto+=gasto;
        }
    } catch (SQLException ex) {
        Logger.getLogger(DAOIngreso.class.getName()).log(Level.SEVERE, null, ex);
    }
    return monto;
}

Lo que hago es obtener el valor como un string, y crear un substring a partir de la posición 1 de este string, de manera que así elimino el símbolo del dolar, y luego este string lo paso a double. esto "rs.getString(2)" es suponiendo que el valor esta en la columna 2, que imagino que es asi por el codigo que pones. y esto "1,rs.getString(2).length()" que son los parámetros dentro del substring es desde la posición 1 hasta que se acabe el string. y así obtengo la cadena "120.00" la convierto a double sin problema y lo sumo a monto.

Esto no te sirve si el string es diferente, es decir si de casualidad hay un monto que no tenga ese símbolo, no dará error, pero no te hará la suma bien, ya que quitara el primer número.

Y borre la variable cantidad, que no se muy bien para que la usabas. si te sirve de algo ya lo acomodas tu a tu necesidad. como digo no entendi del todo exactamente que querias hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Quitar el símbolo de la moneda de un tipo de dato money de postgreSQL

Publicado por Rodrigo (2 intervenciones) el 20/12/2019 16:38:06
Gracias, me sirvio.
Si, el for y cantidad estaban demás ahí
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar