Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con Java Android y dato tipo moneda

Estas en el tema de Problema con Java Android y dato tipo moneda en el foro de Java en Foros del Web. Ando desarrollando un aplicación en androide para llevar el control de unos productos. Tengo una tabla en SQLite que guarda dos monto (monto_uno(Double), monto_dos(Double)), en ...
  #1 (permalink)  
Antiguo 01/12/2015, 09:44
Avatar de agx
agx
 
Fecha de Ingreso: mayo-2007
Mensajes: 2
Antigüedad: 16 años, 10 meses
Puntos: 0
Información Problema con Java Android y dato tipo moneda

Ando desarrollando un aplicación en androide para llevar el control de unos productos.
Tengo una tabla en SQLite que guarda dos monto (monto_uno(Double), monto_dos(Double)), en el cual no hay problemas al guardar por ejemplo: 1500.58

Efectivamente me guarda el registro, el problema que presento es cuando quiero actualizar estos.

Para mostrar monto_uno y _dos uso
Código:
DecimalFormat numberFormat = new DecimalFormat("#,###,###,##0.00");
, para que me muestre en formato 1.500,58.

monto_uno y _dos los muestro en un TextView.
Código:
editText2.setText(numberFormat.format(cursor.getDouble(1)));
Me e dado cuenta que como formateo y lo muestro en un textView al momento de actualizar se guarda 1,5.

Sitien un fragmento de código que me muestre una alternativa se los agradecería.

Este es un ejemplo sencillo de lo que estoy tratando de hacer.

Código:
import java.text.DecimalFormat;
import java.util.regex.Pattern;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class ejemplo extends Activity{
	Context context = this;
	public TextView editText1;
	public TextView editText2;
	public TextView editText3;
	public Button button1;
	public Button button2;
	public Button button3;
	public double costo_uno;
	public double costo_dos;
	
	DepartamentosActivity DepartamentosActivity;
	static LoadDataBase db;
	SQLiteDatabase sqlldb;
	DecimalFormat numberFormat = new DecimalFormat("#,###,###,##0.00");
	DecimalFormat numberFormatDos = new DecimalFormat("#######0.00");
	
	Pattern pat = Pattern.compile("^[0-9]{1,3}([\\.][0-9]{3})*[\\,][0-9]{2}$");

	public String monto_uno;
	public String monto_dos;
	public ejemplo() {}
	
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ejemplo_layout);
        
        button1 = (Button) findViewById(R.id.button1);
        button2 = (Button) findViewById(R.id.button2);
        button3 = (Button) findViewById(R.id.button3);
        editText1 = (TextView) findViewById(R.id.editText1);
        editText2 = (TextView) findViewById(R.id.editText2);
        editText3 = (TextView) findViewById(R.id.editText3);
        DepartamentosActivity = new DepartamentosActivity();
        
		LoadDataBase database = new LoadDataBase(this, null, null, 1);
		database.todos("ejemplo");
        
        button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            	if(editText2.getText().length() > 0){
            		
	    			db = new LoadDataBase(context, null, null, 0);
	    			ContentValues values = new ContentValues();
	    			sqlldb = db.getWritableDatabase();
	    			
	    			values.put("cost_uno", editText2.getText().toString());
	    			values.put("cost_dos", editText3.getText().toString());
	    			
					long insert = sqlldb.insert("ejemplo", null, values);
					
					if(insert !=-1){
						Toast.makeText(context, "Registro Guardado", 2000).show();
					}else{
						Toast.makeText(context, "Error Guardando", 2000).show();
					}
					
            		Log.e("editText1"," : " + editText2.getText().toString() + " : " +editText3.getText().toString());
            		
            	}else{
            		Toast.makeText(context, "Camp vacio", 2000).show();
            	}
            }
        });
        
        
        button2.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            	if(editText1.getText().length() > 0){
	        		db = new LoadDataBase(context, null, null, 0);
	        		sqlldb = db.getWritableDatabase();
	        		
	        		String sql = "SELECT * FROM ejemplo WHERE cost_id='"+editText1.getText().toString()+"';";
	        		Cursor cursor = sqlldb.rawQuery(sql, null);
	        		
	        		if(cursor.moveToFirst()){
	        			
	        			//costo_uno =cursor.getString(1);
	        			//costo_dos =cursor.getDouble(2);
	        			
	        			editText2.setText(numberFormat.format(cursor.getDouble(1)));
	        			editText3.setText(numberFormat.format(cursor.getDouble(2)));
	        			
	        			//editText3.setText(numberFormat.format(costo_dos));
	        			//editText2.setText(cursor.getString(1));
	        			//editText3.setText(cursor.getString(2));
	        		}
            	}else{
            		Toast.makeText(context, "Camp vacio", 2000).show();
            	}
            }
        });  
        
        button3.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            	if(editText1.getText().length() > 0 ){
            		db = new LoadDataBase(context, null, null, 0);
            		sqlldb = db.getWritableDatabase();
            		ContentValues values = new ContentValues();
            		Log.e("cambio", " : " + editText2.getText().toString());
            		values.put("cost_uno", monto_uno);
            		values.put("cost_dos", monto_dos);
            		long update = sqlldb.update("ejemplo", values, "cost_id=" + "'"+editText1.getText().toString()+ "'", null);
            		
            		if(update !=-1){
            			Toast.makeText(context, "Registro Actualizado", 2000).show();
            		}else{
            			Toast.makeText(context, "Error Actualizacion", 2000).show();
            		}
            		db.close(); 
            		
            	}else{
            		Toast.makeText(context, "Camp vacio", 2000).show();
            	}
            }
        });
    }
}

Etiquetas: android, dato, moneda, sql, string, tipo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:22.