SQL베이스에서 DataTable
으로 데이터를 검색하고 일부 필드에서 소수 작업을 수행하려고합니다.DataTable 필드를 문자열에서 double로 변환
나는이 new DataTable();
같이 초기화되어 내 DataTable
에 string
의, int
들과 double
의를 얻을 수 있기 때문이다. 그래서 기본 유형은 업데이트로 설정됩니다. 이것은 잘못되었습니다. 즉, string
decimal
입니다. 변환 할 필요가 없습니다.
나는 DataTable
myRow = 2;
double sum = 0;
foreach (DataRow row in data.Rows)
{
if (row.Field<String>(myRow) != "")
sum = sum + double.Parse(row.Field<String>(myRow), CultureInfo.InvariantCulture.NumberFormat);
}
내가 추가 할 빈 필드 방지 내에서 필드를 합계를 상상해보십시오. 그래서 빈 문자열을 변환하려고하지 않습니다.
'System.Decimal'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다. 이 변환 할 "좋은"방법이없는 경우
, 내 DataTable
만 decimals
를 얻을 수 변경할 수 있지만 Decimal
들과 내가에게 Fill
어떻게 할 수 있습니까? 기본 유형은 decimal
때문에
업데이트 , 나는 주위
sum = sum + (double) row.Field<decimal>(myRow);
하나의 작업을 할 수 있습니다 내 데이터베이스 합을 만드는 것입니다.
필드가' 'System.Decimal'' 인 경우 동일한 문자열을 –
질문에 던지려고합니다. 이것은 문자열로 저장되었음을 나타냅니다 :'row.Field'. 그러나 오류는 십진수로 저장되었음을 나타냅니다. 그렇다면 이미 하나 인 경우 10 진수로 문자열을 구문 분석 할 필요가 없습니다. –
_ "또는 내 총액을 처리 할 SQL 요청을 할 수 있습니다."물론, 그렇게 할 수 있습니다. 그러나 지금 당신의 질문은 무엇입니까? –