我正在尝试构建一个“简单”的网络应用程序,根据美国海军的周长公式计算男性或女性体脂%。此时我完成了大部分应用程序。但是,我无法弄清楚为什么我设置下面的公式的方式不起作用。其中两个值在我的.cs文件中用红色加下划线。
我的公式:
TBBodyFat.Text = Convert.ToString(495 / (1.0324-.19077(Math.Log(Convert.ToDouble(TBWaist.Text)-Convert.ToDouble(TBNeck.Text)))+.15456(Math.Log(Convert.ToDouble(TBHeight.Text)))));
原始示例:
%Fat=495/(1.0324-.19077(log(abdomen-neck))+.15456(log(height)))-450
弹出两个带下划线的值(.19077和.15456):
struct System.Double Represents a double-precision floating-point number. Error: Method name expected
答案 0 :(得分:6)
TBBodyFat.Text = Convert.ToString(495 / (1.0324-.19077*
(Math.Log(Convert.ToDouble(TBWaist.Text)-Convert.ToDouble(TBNeck.Text)))+.15456*
(Math.Log(Convert.ToDouble(TBHeight.Text)))));
C#(不是我遇到的任何编程语言)不会将数字相邻用来表示乘法!
答案 1 :(得分:4)
你需要使用“*”进行乘法运算。 另外我不确定C#是否允许“.123”样式的数字文字而不是0。
尝试:
TBBodyFat.Text =
Convert.ToString(495/
(1.0324-0.19077*(Math.Log(Convert.ToDouble(TBWaist.Text)-Convert.ToDouble(TBNeck.Text)))+0.15456*(Math.Log(Convert.ToDouble(TBHeight.Text)))));
答案 2 :(得分:-1)
将*乘以.8 *(b-200)。如果直接放入.8(b-200),它将显示方法名称所期望的错误。