부동점형float 데이터를 int 정형으로 강제 변환

1397 단어

질문: 다음 코드는 두 개의 데시멜 형식 수 사이의 크기를 가져오려고 하는데, 결과적으로 가끔 오류가 발생합니다. (가끔은 주의하십시오)
Decima t1;

Decima t2;

int shang =Convert.ToInt32(t1 / t2) ;

 
해결 방법: Decimal 유형 데이터를 INT 정형으로 강제로 변환할 때 반올림하는 과정이 있습니다.다음과 같이 Math를 사용해야 합니다.Truncate 방법으로 정수를 가져옵니다.그래서 구상할 때 반드시 이 방법으로 정돈해야 한다
문제 코드:
Decima t1=1.2m;

Convert.ToInt32(t1) //   1

Decima t2=1.7m;

Convert.ToInt32(t2)//    2

 
다음 코드로 변경:
 
Decima t1=1.2m;

Convert.ToInt32(Math.Truncate(t1))  //  1

Decima t2=1.7m;

Convert.ToInt32(Math.Truncate(t2))  //  1

 
전재 대상:https://www.cnblogs.com/musexiaoluo/p/5588677.html

좋은 웹페이지 즐겨찾기