如何分割一个字符串,如果它包含句点(。)?

问题描述:

我正在从文本框中输入数字。我要检查如何分割一个字符串,如果它包含句点(。)?

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

像55.37

然后在两个部分/字符串分割字符串。

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

如果用户输入的值超过一个句点字符,该怎么办? –

+0

那么分割它?你问如何分割一个字符串? –

使用此:

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

然后,你可以做

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

ret [0]是整数部分
个 RET [1]是分数部分

+0

ToCharArray ...真的吗? Split接受**参数** char – Reniuz

+0

@Reniuz:我已经改变了它,也许你看到了我的“仍在编辑”版本;)无论如何谢谢! :) – Marco

使用string.Split方法

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


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

您的语法'Split(“。”)'是错误的,将不会编译;) – Marco

+0

@Marco哎呀....非常感谢纠正它... –

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

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

应该做的伎俩。

+1

您的语法错了,不会编译;) – Marco

+0

修复并修复。 :) – nillls

+0

我喜欢textBox1.Text.Contains('。')方法。我已经完成了Marco的工作并检查了长度。只是表明有很多方法来皮肤那只猫。 – TeamWild

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

结果将是一个字符串数组。在您的样品,该阵列将有2串,55和37

使用拆分方法

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

将代码格式化为代码(CTRL + K或编辑器按钮),以便人们可以更好地阅读它;) – Marco

使用以下命令:

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

您的语法错了,无法编译;) – Marco

+0

我的问题得到2票反对,但至少有很多你纠正了自己的语法。信贷转到宏。:D –

+0

更正了双引号的错误用法。 –

但如果是你的代码将是一个机会在非Windows本地化的操作系统上执行请使用:

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

它看起来过于冗长,但可能很难取消了解你的代码为什么在你的机器上工作(使用开发环境),但不要在客户身上。