최근에 속성을 double에서 decimal로 변경하여 이상한 효과를 발견했습니다. 속성에서 반환 된 모든 숫자가 잘립니다.C# 10 진수 속성 의도하지 않은 잘림
private int _SalesPrice;
// [ ... ]
public decimal SalesPrice
{
get { return Convert.ToDecimal(_SalesPrice/1000); }
set { _SalesPrice = Convert.ToInt32(value * 1000); }
}
그때 내 코드에서이 같은 경우 :
이
는 코드의 일부이다SalesPrice = 5.98
_SalesPrice가 5980됩니다 만 SalesPrice없이 소수와 5를 반환합니다.
그 이유는 무엇입니까? 대신 대신 십진수을 사용하면됩니다.
return _SalesPrice/1000M;
INT A = 1,000분의 5,980 = 5 – chouaib
진수 A = 1,000분의 5,980 = 5 –
'리턴 (진수) _SalesPrice/1000;' –