如何在多种类型的数字下进行计算?

时间:2015-08-30 17:04:44

标签: scala

我有一些数字列表,我通过它,并为两个数字做一个简单的计算:

我有numberA和numberB,我正在做的计算是:

val res = (numberA/numberB) * 100

现在,我不知道这个数字是什么类型,但我知道它可能是浮点数(点​​后面有2个num)或整数......

所以我想知道scala中的语法是什么来计算它?

目前我有:

val num1 = (vatReclaimed.toInt/vatPaid.toInt) * 100

但它显然不起作用,我不能真正使用我猜我猜,因为我不知道类型......

对我来说重要的是res会保留正确的答案,所以如果它的2.3 * 4 res将保持9.2

thanksss!

1 个答案:

答案 0 :(得分:0)

如果您不知道类型,这是一个数字,您可能需要使用Numeric。使用数字,您可以将任何数值转换为Double, Float, Int or Long。为了精确,我建议Double

def calc[A : Numeric, B : Numeric](a: A, b: B): Double = (a.toDouble / b.toDouble) * 100