Ejercicio: Conversor de moneda
Convertir $ a € y viceversa
Ejercicio: Conversor de moneda
Pasar una cadena de texto a número y viceversa:
public static String convertirADolares(String cantidad) {
double valor = Double.parseDouble(cantidad) / cambio;
return Double.toString(valor);
//return String.valueOf(valor);
}
Poner un formato con dos decimales:
public static String convertirAEuros(String cantidad) {
double valor = Double.parseDouble(cantidad) * cambio;
return String.format("%.2f", valor);
}
Use view binding to replace findViewById
Ejercicio: Conversor de moneda usando View Binding
en el fichero build.gradle se deben añadir estas líneas:
viewBinding {
enabled = true
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
buildToolsVersion "30.0.2"
viewBinding {
enabled = true
}
// buildFeatures {
// viewBinding = true
// }
defaultConfig {
applicationId "com.example.conversornuevo"
minSdkVersion 23
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
. . .
MainActivity.java:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
public final double RATIO = 0.9;
private ActivityMainBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//activity_main.xml -> ActivityMainBinding
binding = ActivityMainBinding.inflate(getLayoutInflater());
View view = binding.getRoot();
setContentView(view);
//botón convertir en activity_main.xml
binding.convertir.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (view == binding.convertir) {
try {
if (binding.dolaresAEuros.isChecked())
binding.euros.setText((convertirAEuros(binding.dolares.getText().toString(), RATIO)));
else
binding.dolares.setText((convertirADolares(binding.euros.getText().toString(), RATIO)));
} catch (NumberFormatException e) {
Toast.makeText(this, "Error al convertir " + e.getMessage(), Toast.LENGTH_LONG);
}
}
}
}

Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.