Я работаю над проектом, требующим выполнения простых математических операций с валютой, однако он приходит в форме строки. Я новичок в Java / Android, поэтому я ищу помощь в преобразовании строки в тип данных, соответствующий этой операции. Сначала я думал, что Float был прав, но после прочтения в другом месте и знакомства с классом чисел кажется, что BigDecimal - это правильно. Я на правильном пути? На данный момент я просто хочу вычесть сумму платежей из первоначальной суммы счета. У меня такое ощущение, что этот код простой, но неуклюжий, и я подозреваю, что мне очень не хватает нюансов работы с валютой. Как бы вы это сделали? Все советы горячо приветствуются!
// 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());