1
mirror of https://github.com/m2049r/xmrwallet synced 2025-09-07 11:35:59 +02:00

Compare commits

...

2 Commits

Author SHA1 Message Date
m2049r
e076c19e3e v1.12.9 2019-11-21 10:42:45 +01:00
m2049r
35b717756d Fix amount bugs (#645)
* fix rounding error on send

* fix check funds bug
2019-11-21 10:42:16 +01:00
3 changed files with 9 additions and 7 deletions

View File

@@ -7,8 +7,8 @@ android {
applicationId "com.m2049r.xmrwallet"
minSdkVersion 21
targetSdkVersion 28
versionCode 198
versionName "1.12.8 'Caerbannog'"
versionCode 199
versionName "1.12.9 'Caerbannog'"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {

View File

@@ -227,6 +227,7 @@ public class Helper {
return String.format(Locale.US, "%,.2f", amount);
else { // amount < 1
int decimals = 1 - (int) Math.floor(Math.log10(amount));
if (decimals < 2) decimals = 2;
if (decimals > 12) decimals = 12;
return String.format(Locale.US, "%,." + decimals + "f", amount);
}

View File

@@ -44,6 +44,7 @@ import com.m2049r.xmrwallet.util.Helper;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import timber.log.Timber;
@@ -66,9 +67,9 @@ public class ExchangeEditText extends LinearLayout {
return false;
}
boolean ok = true;
String enteredAmount = etAmountA.getText().toString();
String nativeAmount = getNativeAmount();
try {
double amount = Double.parseDouble(enteredAmount);
double amount = Double.parseDouble(nativeAmount);
if ((amount < min) || (amount > max)) {
ok = false;
}
@@ -110,7 +111,7 @@ public class ExchangeEditText extends LinearLayout {
public String getNativeAmount() {
if (isExchangeInProgress()) return null;
if (sCurrencyA.getSelectedItemPosition() == 0)
if (getCurrencyA() == 0)
return getCleanAmountString(etAmountA.getText().toString());
else
return getCleanAmountString(tvAmountB.getText().toString());
@@ -336,7 +337,7 @@ public class ExchangeEditText extends LinearLayout {
private void exchange(double rate) {
double amount = getEnteredAmount();
if (rate > 0) {
tvAmountB.setText(Helper.getFormattedAmount(rate * amount));
tvAmountB.setText(Helper.getFormattedAmount(rate * amount, getCurrencyB() == 0));
} else {
tvAmountB.setText(null);
Timber.w("No rate!");
@@ -347,7 +348,7 @@ public class ExchangeEditText extends LinearLayout {
try {
double amount = Double.parseDouble(enteredAmount);
if (amount >= 0) {
return Helper.getFormattedAmount(amount);
return String.format(Locale.US, "%,.12f", amount);
} else {
return null;
}