Java Math.log10未显示正确的结果
我正在尝试在我的应用程序中实现此公式:Java Math.log10未显示正确的结果,java,math,Java,Math,我正在尝试在我的应用程序中实现此公式: Body Fat (men) = 495 / (1.29579 - .35004 * log10(Waist - Neck) + 0.22100 * log10(Height)) - 450 像这样: rezultat = (495 / (1.29579 - .35004 * (Math.log10(trecePolje - petoPolje)) + 0.22100 * (Math.log10(drugoPolje / 2.54))) - 450);
Body Fat (men) = 495 / (1.29579 - .35004 * log10(Waist - Neck) + 0.22100 * log10(Height)) - 450
像这样:
rezultat = (495 / (1.29579 - .35004 * (Math.log10(trecePolje - petoPolje)) + 0.22100 * (Math.log10(drugoPolje / 2.54))) - 450);
在Java文件trecePolje中,drugoPolje和trecePolje被初始化:
double drugoPolje = Double.parseDouble(editVisina.getText().toString());
double trecePolje = Double.parseDouble(editStruk.getText().toString());
double petoPolje = Double.parseDouble(editVrat.getText().toString());
在我的应用程序的EditText中设置了drugoPolje 190、trecePolje 80和petoPolje 30的值,输出-272.96
它应该输出16.8
你知道怎么了吗
这是计算器:
确保切换到公制单位!
下面你可以看到男人的原始公式,没有拼写错误
在那个网站上计算时,我用100表示体重,190表示身高,80表示腰围,90表示臀部,30表示脖子,18表示年龄。所有这些当然都是厘米,因为它是公制的。
其结果为16.8
现在,我在我的应用程序中使用相同的测量方法做同样的事情,其中trecePolje是waise,petoPolje是nech,drugoPolje是height。
结果甚至不尽相同。结果才不会唠叨 公式中的log10有3个值(x+y-z)。在代码中,它有2(x-z) 另外,对于1值(高度),您正在进行cm->转换。你也需要对其他人进行调查吗 第三个问题:在公式中有.221*log10(高度),在代码中有.221+log10(高度)。好的,答案是: 整个公式需要根据公制单位进行调整,而不仅仅是身高、腰围和脖子尺寸 这是修改后的公式:
Male Metric Body Fat % = 495/(1.0324-0.19077(log(waist-neck))+0.15456(log(height)))-450
对不起,我抄错了公式。现在在第一个postOk中对其进行了编辑,然后可以忽略问题1。另外两个问题仍然没有解决第三个问题,真不敢相信我犯了这么愚蠢的错误。。现在我得到-6.14把它转换成英寸,我只需要除以2.54?是的,1英寸是2.54厘米。对于高度,您已经这样做了。对所有值都这样做了,没有得到正确的结果,将其删除并得到-1.1。当我把身高=190/2.54,腰围=80/2.54,脖子=30/2.54代入公式时,AkwardI得到-56.2。您确定复制的公式正确吗?为什么您认为这些值的正确结果是16.8?你能在它的原始上下文(学术论文或任何东西)中给出一个公式的链接吗?或者,如果它在一本书中,可以在页面上拍照并发布它吗?所有这些都在原始帖子中更新!您仍在将
高度
转换为英寸,但没有将腰围
转换为英寸。没关系,问题解决了,看看下面,您就会看到它!