2009-08-11 4 views

Répondre

1

Si vous savez que les données sont des nombres entiers, vous devez utiliser Convert.ToInt16 ou des fonctions similaires pour extraire les entiers. Veillez à ajouter une gestion des exceptions supplémentaire, au cas où les données s'avéreraient non entières.

0

Quel est le type de retour de votre fonction Calcul? Objet? Ou un type défini?

Si défini, vous pouvez surcharger l'opérateur '-', vous savez? Sinon, qu'est-ce qui vous empêche de créer une méthode qui prend ces deux structures et renvoie le résultat entier dont vous avez besoin? Pourquoi doit-il être avec '-'?

+0

Compute est déjà défini pour revenir objet de type. Y a-t-il un moyen d'ajuster cela? – kristofer

+0

Ensuite, je vous suggère de créer une fonction qui prendra deux objets, vérifiez si les deux sont des entiers, et renvoyez la différence, ou lancez une exception sinon. –

1

vous pouvez utiliser int.TryParse comme la sortie de DataTable.Compute est objet

int priceSum,totDiscount; 

if(int.TryParse(dsfDataSet.itemTotals.Compute("SUM(priceSum)", String.Empty).ToString(),out priceSum)) 
{ 
    if(int.TryParse(dsfDataSet.discountItems.Compute("SUM(totDiscount)", String.Empty).ToString(),out totDiscount)) 
    { 
    priceSum - totDiscount; 
    } 
} 
Questions connexes