From a4796ec47d89a851b260b6fc195494547208a025 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 18 Mar 2020 14:24:41 -0300 Subject: Merge all three apps into one repository --- .../src/main/java/net/taler/merchantpos/Amount.kt | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 merchant-terminal/src/main/java/net/taler/merchantpos/Amount.kt (limited to 'merchant-terminal/src/main/java/net/taler/merchantpos/Amount.kt') diff --git a/merchant-terminal/src/main/java/net/taler/merchantpos/Amount.kt b/merchant-terminal/src/main/java/net/taler/merchantpos/Amount.kt new file mode 100644 index 0000000..17ddd61 --- /dev/null +++ b/merchant-terminal/src/main/java/net/taler/merchantpos/Amount.kt @@ -0,0 +1,48 @@ +/* + * This file is part of GNU Taler + * (C) 2020 Taler Systems S.A. + * + * GNU Taler is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 3, or (at your option) any later version. + * + * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * GNU Taler; see the file COPYING. If not, see + */ + +package net.taler.merchantpos + +import org.json.JSONObject + +data class Amount(val currency: String, val amount: String) { + @Suppress("unused") + fun isZero(): Boolean { + return amount.toDouble() == 0.0 + } + + companion object { + private const val FRACTIONAL_BASE = 1e8 + + @Suppress("unused") + fun fromJson(jsonAmount: JSONObject): Amount { + val amountCurrency = jsonAmount.getString("currency") + val amountValue = jsonAmount.getString("value") + val amountFraction = jsonAmount.getString("fraction") + val amountIntValue = Integer.parseInt(amountValue) + val amountIntFraction = Integer.parseInt(amountFraction) + return Amount( + amountCurrency, + (amountIntValue + amountIntFraction / FRACTIONAL_BASE).toString() + ) + } + + fun fromString(strAmount: String): Amount { + val components = strAmount.split(":") + return Amount(components[0], components[1]) + } + } +} -- cgit v1.2.3