money-module/src/main/kotlin/com/cubetiqs/money/MoneyExchangeUtils.kt

13 lines
618 B
Kotlin
Raw Normal View History

package com.cubetiqs.money
2020-08-26 21:32:06 +07:00
object MoneyExchangeUtils {
fun exchange(exchangeFrom: StdMoney, exchangeToCurrency: String): StdMoney {
val rateFrom = MoneyConfig.getRate(exchangeFrom.getMoneyCurrency())
val rateTo = MoneyConfig.getRate(exchangeToCurrency)
return Money(value = computeRate(rateFrom, rateTo, amountFrom = exchangeFrom.getMoneyValue()), currency = exchangeToCurrency)
}
private fun computeRate(rateFrom: Double, rateTo: Double, baseRate: Double = 1.0, amountFrom: Double = 1.0): Double {
2020-08-26 21:32:06 +07:00
return amountFrom * ((baseRate / rateFrom) / (baseRate / rateTo))
}
}