2010-08-01 5 views
1

미국 해군의 원주 수식을 기반으로 남성 또는 여성 체지방 %를 계산하는 "간단한"웹 앱을 구축하려고합니다. 이 시점에서 대부분의 앱을 완료했습니다. 그러나 아래 공식을 설정 한 방식이 작동하지 않는 이유를 알 수 없습니다. 두 개의 값은 내 .cs 파일에서 빨간색 밑줄이 그어져 있습니다.Asp.net C# 수학 문제

내 공식 :

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  

두 개의 밑줄이 그어진 값에 대한 팝업 (0.19077와 0.15456) :

 
struct System.Double 
Represents a double-precision floating-point number. 

Error: 
Method name expected 
+0

윌 솔루션은 당신을 위해 해결책을 가지고있는 것 같지만, 그게 당신의 형식과 복사 및 붙여 넣기의 결과가 아니라면 다음과 같은 문제를 더 다르게 서식을 고려해야 할 수도 있습니다 권장해야합니다 . 이 수식을 여러 줄에 걸쳐 나누면 나중에 문제를 쉽게 디버깅 할 수 있습니다. 그렇다면 프로그래밍은 대개 복잡한 수학을 필요로하지 않으므로이 형식을 사용하면 규칙적으로 이런 유형의 코드를 처리해야하는 사람들이 눈을 뗄 수 없을 것입니다. – joshlrogers

답변

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# (아직 발생한 프로그래밍 언어가 아닙니다.) 곱셈을 의미하는 숫자의 인접성을 취하지 않습니다!

+0

55 초 이내에! 그건 빨리 ;-) – Abel

+0

8-) - 시도해! 의심 할 여지없이 대수적 인 관습을 존중하는 언어를 생각해 낼 것입니다. :) –

+0

범인이되는 것은 항상 뻔한 일입니다 ... 그것은 그 것이고 이제는 효과가 있습니다. 도와 주셔서 감사합니다!! – Chris

4

자, 곱셈에 "*"를 사용해야합니다. 같은 0.8 * (B-200) .If을 곱하면서 *

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))))); 
+0

* "C#이".123 "numerl 리터럴 형식"인지 여부 * – Abel

+0

@Abel : thanks :-) – Mau

-1

넣어 : 플러스 I은 0

시도를 선도하지 않고 C 번호는 "0.123"스타일 숫자 리터럴 허용하는지 여부를 확실하지 않다 당신은 직접 .8 (b-200)을 넣을 것이고 그것은 그 메소드 이름이 예상 한 오류를 보여줄 것이다.