La conversion de la Chaîne de BigDecimal pour faire des maths sur la monnaie

Je suis en train de travailler sur un projet qui nécessite quelques calculs simples à effectuer sur les devises, cependant il arrive sous la forme d'une Chaîne. Je suis nouveau sur Java/Android, je suis à la recherche pour aider à convertir une Chaîne en un type de données approprié pour cette opération. J'ai d'abord cru à Flotteur était bon, mais après avoir lu ailleurs et de me présenter à l'un des numéros de la classe, il apparaît BigDecimal est correct. Suis-je sur la bonne voie? À ce stade, je tiens simplement à soustraire la somme des paiements à partir d'un premier montant de la facture. J'ai le sentiment que ce code est simple, mais maladroit et je pense que je suis absent de beaucoup sur les nuances de travail avec bureau. Comment le feriez-vous? Tous les conseils chaudement apprécié!

    //capture variables from sending activity
    String invoiceAmt = getIntent().getStringExtra("invoiceAmt");
    String paymentsSum = getIntent().getStringExtra("paymentsSum");

    //convert strings to BigD's 
    BigDecimal amt = new BigDecimal(invoiceAmt);
    BigDecimal sum = new BigDecimal(paymentsSum);

    //Do the math
    BigDecimal invDue = amt.subtract(sum);

    //insert the value (back to string) into textView
    TextView tvInvoiceDue = (TextView)findViewById(R.id.InvoiceDue);
    tvInvoiceDue.setText(invDue.toString());

OriginalL'auteur ctgScott | 2011-02-11