2011-11-16 86 views
1

我正在從文本框中輸入數字。我要檢查如何分割一個字符串,如果它包含句點(。)?

if(textBox1.Text.Contains(".")) 

像55.37

然後在兩個部分/字符串分割字符串。

    期前
  1. 第一部分(55)
  2. 第二部分週期(37)
+1

如果用戶輸入的值超過一個句點字符,該怎麼辦? –

+0

那麼分割它?你問如何分割一個字符串? –

回答

17

使用此:

string[] ret = textBox1.Text.Split('.'); 

然後,你可以做

if (ret.Length != 2) // error ?!? 

ret [0]是整數部分
個 RET [1]是分數部分

+0

ToCharArray ...真的嗎? Split接受**參數** char – Reniuz

+0

@Reniuz:我已經改變了它,也許你看到了我的「仍在編輯」版本;)無論如何謝謝! :) – Marco

3

使用string.Split方法

string[] a = textBox1.Text.Split('.'); 


    string b = a[0]; 
    string c = a[1]; 
+0

您的語法'Split(「。」)'是錯誤的,將不會編譯;) – Marco

+0

@Marco哎呀....非常感謝糾正它... –

2
if (!textBox1.Text.Contains('.')) 
    return; 

var parts = textBox1.Text.Split('.') 

應該做的伎倆。

+1

您的語法錯了,不會編譯;) – Marco

+0

修復並修復。 :) – nillls

+0

我喜歡textBox1.Text.Contains('。')方法。我已經完成了Marco的工作並檢查了長度。只是表明有很多方法來皮膚那隻貓。 – TeamWild

5
var splitted = textBox1.Text.Split('.'); 

結果將是一個字符串數組。在您的樣品,該陣列將有2串,55和37

0

使用拆分方法

dim s as string = textbox1.text 
s.split(".") 
+0

將代碼格式化爲代碼(CTRL + K或編輯器按鈕),以便人們可以更好地閱讀它;) – Marco

-1

使用以下命令:

textBox1.Text.Split('.') 
+0

您的語法錯了,無法編譯;) – Marco

+0

我的問題得到2票反對,但至少有很多你糾正了自己的語法。信貸轉到宏。:D –

+0

更正了雙引號的錯誤用法。 –

2

但如果是你的代碼將是一個機會在非Windows本地化的操作系統上執行請使用:

var separators = new[] {CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator}; 
var parts = textBox1.Text.Split(separators, StringSplitOptions.None); 

它看起來過於冗長,但可能很難取消了解你的代碼爲什麼在你的機器上工作(使用開發環境),但不要在客戶身上。

相關問題