簡體   English   中英

從列表框行中隔離值

[英]Isolating values from a listbox line

我在禮盒中有一條生產線,因此我可以在我12年級項目結束時打印收據。
我的路線示例: "cha1 Adidas Stan Smith White 1 2" (填充)。 現在我想做的就是像cha1一樣隔離,將adidas stan Smith White,1,2添加到我的Microsoft Access數據庫中,我設法用子字符串做到了,但是我搞砸了我的代碼,現在我做不到了,有人可以請幫幫我 ?

我曾經工作的代碼如下所示:

 foreach (string item in lstpreview.Items)
            {
            //create the string to print on the reciept
            string nomeproduto = item;

            float quantidade = float.Parse(item.Substring(item.Length -5, 5));
            float precounitario = float.Parse(item.Substring(item.Length - 5, 5));
            string totalproduto = item.Substring(item.Length - 6, 6);

            txt1.Text = Convert.ToString(quantidade);
            txt2.Text = Convert.ToString(precounitario);
            //MessageBox.Show(item.Substring(item.Length - 5, 5) + "PROD TOTAL: " + totalproduto);

            //float totalprice = 0.00f;





        }

您說該行已填充,但未提供任何詳細信息。 如果您知道第一個字段始終是該行的前4個字符,則可以使用string.Substring對其進行隔離

string field1 = line.Substring(0, 4);

其他領域也是如此。

附言:請編輯您的帖子,並刪除臟話。

添加解析代碼后進行編輯

我不理解您的評論,“您的負值”是什么? 在調試器中運行代碼,並查找導致錯誤的行。 請發布確切的錯誤消息。

是否有理由將子字符串轉換為浮點數,然后再轉換回字符串? 我可以想象您可能想驗證該字段為數字,但是最好使用TryParse

您的第二條評論很有幫助。 該行的最后5個字符並非全都是數字,這就是問題所在。

使用此代碼段以及每個循環的來完成該操作。

string[] caracteresnastring = item.Split(new char[] { ',' }.ToArray());
            string code = caracteresnastring[0];
            string name = caracteresnastring[1];
            string price = caracteresnastring[2];
            string quantity = caracteresnastring[3];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM