Как мне устранить ошибку, которую я получаю, она говорит, что входная строка aws не корректна format.at system.number.parsesingle(строковое значение, параметры numberstyles, numberformstioninfo numfmt) в строке 1124?
sw.WriteLine("INVCODE|BILLNO|DATE|BUYERNAME|BUYERADDRESS|VATTINNUMBER|CSTNUMBER|BUYERMOBILE|BUYEREMAIL|TRANSACTIONTYPE|PRODCODE|PRODNAME|UOM|CUR|QTY|RATE|AMOUNT|"); for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) //for (int i = 0; i <= cCount - 1; i++) //dt.Rows.Count { string vsINVSINO = ds.Tables[0].Rows[i][ds.Tables[0].Columns[0].ColumnName].ToString(); string vsINVNO = ds.Tables[0].Rows[i][ds.Tables[0].Columns[1].ColumnName].ToString(); string vsINVDT = ds.Tables[0].Rows[i][ds.Tables[0].Columns[2].ColumnName].ToString(); //string vssi_number //string vssi_bil_no //string vssi_bil_dt string vssi_cus_cd = ds.Tables[0].Rows[i][ds.Tables[0].Columns[3].ColumnName].ToString().Trim(); string vscashcode = ""; //ds.Tables[0].Rows[i][ds.Tables[0].Columns[4].ColumnName].ToString().Trim(); string vscashname = ""; //ds.Tables[0].Rows[i][ds.Tables[0].Columns[5].ColumnName].ToString().Trim(); string vscashplace = ""; // ds.Tables[0].Rows[i][ds.Tables[0].Columns[6].ColumnName].ToString().Trim(); string vsPartyDesc = ""; //ds.Tables[0].Rows[i][ds.Tables[0].Columns[7].ColumnName].ToString().Trim(); string vsPartyPlace = ""; // ds.Tables[0].Rows[i][ds.Tables[0].Columns[8].ColumnName].ToString().Trim(); string vsam_name = ds.Tables[0].Rows[i][ds.Tables[0].Columns[4].ColumnName].ToString(); string vsam_addr1 = ds.Tables[0].Rows[i][ds.Tables[0].Columns[5].ColumnName].ToString(); vsam_name = vsam_name.Trim(); //vsam_name = vsPartyDesc; //vsam_addr1 = vsPartyPlace; //if (vsam_name == "CASH" && vscashname !="") //{ // vsam_name = vscashname; // vsam_addr1 = vscashplace; //} string vsam_addr2 = ds.Tables[0].Rows[i][ds.Tables[0].Columns[6].ColumnName].ToString(); string vsam_addr3 = ds.Tables[0].Rows[i][ds.Tables[0].Columns[7].ColumnName].ToString(); string vsam_addr4 = ""; //ds.Tables[0].Rows[i][ds.Tables[0].Columns[8].ColumnName].ToString(); string vsam_phone = ds.Tables[0].Rows[i][ds.Tables[0].Columns[14].ColumnName].ToString(); string vsam_rphone = ""; //ds.Tables[0].Rows[i][ds.Tables[0].Columns[15].ColumnName].ToString(); string vsam_tngstno = ""; // ds.Tables[0].Rows[i][ds.Tables[0].Columns[7].ColumnName].ToString(); string vsam_cstno = ""; // ds.Tables[0].Rows[i][ds.Tables[0].Columns[17].ColumnName].ToString(); string vsam_emailid = ""; // ds.Tables[0].Rows[i][ds.Tables[0].Columns[13].ColumnName].ToString(); string vssi_pro_cd = ds.Tables[0].Rows[i][ds.Tables[0].Columns[11].ColumnName].ToString(); string vssi_pro_nm = ds.Tables[0].Rows[i][ds.Tables[0].Columns[12].ColumnName].ToString(); string vssi_unit = ds.Tables[0].Rows[i][ds.Tables[0].Columns[13].ColumnName].ToString(); string vssi_qty = ds.Tables[0].Rows[i][ds.Tables[0].Columns[8].ColumnName].ToString(); string vssi_frqty = ""; // ds.Tables[0].Rows[i][ds.Tables[0].Columns[14].ColumnName].ToString(); string vssi_rate = ds.Tables[0].Rows[i][ds.Tables[0].Columns[9].ColumnName].ToString(); string vsamt = ds.Tables[0].Rows[i][ds.Tables[0].Columns[10].ColumnName].ToString(); string vsPacking = ""; //ds.Tables[0].Rows[i][ds.Tables[0].Columns[12].ColumnName].ToString(); float vnAmt; float vnRate; //vnAmt = (Convert.ToSingle(vsamt)); // *(Convert.ToSingle(vssi_rate)); //vnRate = (Convert.ToSingle(vsamt)) / (Convert.ToSingle(vssi_qty)); vnAmt = (Convert.ToSingle(vssi_qty)) * (Convert.ToSingle(vssi_rate)); vnRate = (Convert.ToSingle(vssi_rate)); //if (vssi_qty == '0'.ToString()) //{ // vssi_qty = vssi_frqty; // vssi_rate = "0".ToString(); //} //MessageBox.Show(vsBillDate.ToString()); vsINVDT = vsINVDT.Trim(); vsINVDT = vsINVDT.Replace("12:00:00 AM", ""); vsINVDT = vsINVDT.Replace("00:00:00", ""); vsINVDT = vsINVDT.Trim(); // MessageBox.Show(vsINVDT); DateTime vsBDate = DateTime.ParseExact(vsINVDT, "dd/MM/yyyy", CultureInfo.InvariantCulture); // MessageBox.Show(vsBDate.ToString()); DateTime vsFDate = DateTime.ParseExact(svsFromDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); DateTime vsTDate = DateTime.ParseExact(svsToDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); //MessageBox.Show(vsBDate.ToString()); //MessageBox.Show(vsFDate.ToString()); //MessageBox.Show(vsTDate.ToString()); ////MessageBox.Show(vsBillNo); if (vsBDate >= vsFDate && vsBDate <= vsTDate) { //string conString = vsINVDT; //string[] splitString = conString.Split('/'); //string result = splitString[1].ToString() + "/" + splitString[0].ToString() + "/" + splitString[2].ToString(); // sw.WriteLine(vsINVNO.Trim() + "|" + vsINVDT.Trim() + " " + vsTIME.Trim() + "|" + vsCNAME.Trim() + "|" + vsCADD1.Trim() + " " + vsCADD2.Trim() + " " + vsCADD3.Trim() + vsCADD4.Trim() + "|" + vsCTNGST.Trim() + "|" + vsCPHONE.Trim() + "|" + "" + "|" + "Secondary Sales" + "|" + vsMDCODE.Trim() + "|" + vsMDNAME.Trim() + " " + vsPACKG.Trim() + "|" + "|" + "INR" + "|" + vsQTY.Trim() + "|" + vsRATE.Trim() + "|" + vsAmt.Trim() + "|"); // + vsINVNO.Trim() + "|" sw.WriteLine(vsINVSINO.Trim() + "|" + vsINVSINO.Trim() + "|" + vsINVDT.Trim() + "|" + vsam_name.Trim() + "|" + vsam_addr1.Trim() + " " + vsam_addr2.Trim() + " " + vsam_addr3.Trim() + " " + vsam_addr4.Trim() + "|" + vsam_tngstno.Trim() + "|" + vsam_cstno.Trim() + "|" + vsam_phone.Trim() + " " + vsam_rphone.Trim() + "|" + vsam_emailid.Trim() + "|" + "Secondary Purchase" + "|" + vssi_pro_cd.Trim() + "|" + vssi_pro_nm.Trim() + " " + vsPacking.Trim() + "|" + vssi_unit.Trim() + "|" + "INR" + "|" + vssi_qty.Trim() + "|" + vnRate.ToString().Trim() + "|" + vnAmt.ToString().Trim() + "|"); // + vsINVNO.Trim() + "|"
Что я уже пробовал:
Я пробовал ConvertToInt, но все равно получаю ту же ошибку.
Richard MacCutchan
Посмотрите на фактическую строку, которую вы пытаетесь преобразовать, и вы сразу увидите, является ли она допустимым числом.