이상한 오류 "연산자 '*'는 'double'및 'decimal'유형의 피연산자에 적용 할 수 없습니다."

톰 도일

좋아,이 코드가 있습니다.

decimal jewels = numericUpDown1.Value;
int price = 0.35 / 100 * jewels;
MessageBox.Show(price.ToString());

하지만 이상한 이유로이 오류가 발생합니다.`

연산자 '*'는 'double'및 'decimal'` 유형의 피연산자에 적용 할 수 없습니다.

나는 float, double 및 int와 같은 모든 다른 유형을 사용해 보았지만 그중 어느 것도 작동하지 않습니다!

어떤 아이디어?

구파

decimal값과 값을 곱할 수 없습니다 double. decimal리터럴 값 을 사용 하면 곱셈이 잘 작동합니다.

0.35M / 100M * jewels

int변수에 할당하려면 결과를 int다음 으로 캐스팅해야합니다 .

int price = (int)(0.35M / 100M * jewels);

decimal값을 캐스팅하면 값이 잘 리므로 먼저 값 을 반올림 할 수 있습니다 .

int price = (int)Math.Round(0.35M / 100M * jewels);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사