我在我的项目中使用Javax.Units包来编写一些formal。我正在尝试编写这行代码:
Unit newton = SI.NEWTON;
Unit newton09 = newton.pow(0.9);//not allowing me to input decimal value 0.9
pow 方法只将 int 作为参数,但我正在寻找float或double作为参数。如何在参数中写入float或double?
答案 0 :(得分:1)
您可以使用root()
和pow()
方法。一个数字n
取为0.9的幂相当于n
取得9/10的幂,而这相当于(n
的第10个根到9功率)。因此,您只能使用int
s:
Unit newton09 = newton.pow(9).root(10);
答案 1 :(得分:1)
我认为你需要退后一步,回想一下取幂的含义,特别是对于小数指数。您正尝试将某些值X
提升到某个幂M/N
。
如果您记得算术类中M/N
的含义,它与M * 1/N
相同。这很重要,因为这意味着你可以像这样表达你的表达式:
X^M^(1/n)
所以我们有这个等价:
X^(M/N) == X^M^(1/N)
,任何提升到1/N
的内容都与获取N
根一样,所以你可以通过计算得到一个等价的表达式:
Nroot( X^M )
在该API中,将是:
Unit newton09 = newton.pow(9).root(10);