如何轉換字符串(X LE)至INT(X)如何轉換字符串(X釐米)到INT(X)X =數
X =編號
我使用:
Convert.ToInt32(Form1.sendproductprice1)*Convert.ToInt32(Form1.sendamount));
實施例:
Form1.sendproductprice1 = "25 LE";
Form1.sendamount = 5;
然後值必須是125
但我得到錯誤「輸入字符串格式不正確」
如何轉換字符串(X LE)至INT(X)如何轉換字符串(X釐米)到INT(X)X =數
X =編號
我使用:
Convert.ToInt32(Form1.sendproductprice1)*Convert.ToInt32(Form1.sendamount));
實施例:
Form1.sendproductprice1 = "25 LE";
Form1.sendamount = 5;
然後值必須是125
但我得到錯誤「輸入字符串格式不正確」
代碼應該是工作:
Convert.ToInt32(Form1.sendproductprice1.Split(' ')[0])*Convert.ToInt32(Form1.sendamount));
感謝它很簡單,它工作 –
不客氣) – melvas
您可以使用此代碼提取字符串的數量(它允許你提取的數目,即使它不是在beggining)
for (int i=0; i< Form1.sendproductprice1.Length; i++)
{
if (Char.IsDigit(Form1.sendproductprice1[i]))
number += Form1.sendproductprice1[i];
}
然後如果你做Convert.ToInt32(number)
它會工作得很好
你也可以使用正則表達式。下面
顯然,25 LE
不能轉換爲整數這樣。你必須從文本中分離出數字。在這種情況下,你可以使用
var num = Form1.sendproductprice1.Split(' ')[0];
基本上需要你輸入,用空格分割,並從結果採取的第一項。然後這將工作
Convert.ToInt32(num)*Convert.ToInt32(Form1.sendamount));
您將首先需要將字符從字符串中分離出來,以便能夠將數字轉換爲整數類型。
Convert.ToInt32(Form1.sendproductprice1)
如果字符串不是整數,會拋出異常。
在你的情況(在本例中,你所提供)的字符串如下:"25 LE"
如果分隔符始終是一個空間,那麼它很容易:
var test = "25 LE";
var splitted = test.Split(' ');
var digits = splitted[0]; //Will get you the digits only.
如果你要處理的空白您可以使用Regex
以解析輸入
string input = " 25 LE ";
Regex regex = new Regex("\\d+");
Match match = regex.Match(input);
if (match.Success)
{
int number = Convert.ToInt32(match.Value); // number contains 25
}
請正確格式化發佈的代碼,以便您的問題更具可讀性。編輯器中有一個按鈕,看起來像'{}'。只要選擇你的文字,按下按鈕即可。 –
你必須帶上數字的子字符串。而不應該是125? ;-) – Koen