Asp.net C#数学问题

时间:2010-08-01 00:04:53

标签: c# math

我正在尝试构建一个“简单”的网络应用程序,根据美国海军的周长公式计算男性或女性体脂%。此时我完成了大部分应用程序。但是,我无法弄清楚为什么我设置下面的公式的方式不起作用。其中两个值在我的.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  

3 个答案:

答案 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),它将显示方法名称所期望的错误。