如何解析c#中的数字?

时间:2013-08-16 14:43:10

标签: c# parsing numbers integer

我想解析一个包含11个字符的数字。

例如;号码是12345678900

解析应该是; 1234 5678 900

我该怎么做?

7 个答案:

答案 0 :(得分:2)

根据您的示例,您可以使用以下内容:

var numString = 12345678900.ToString();
var result1 = Convert.ToInt32(numString.Substring(0, 4)); //1234
var result2 = Convert.ToInt32(numString.Substring(4, 4)); //5678
var result3 = Convert.ToInt32(numString.Substring(8, 3)); //900

答案 1 :(得分:1)

这样的事可能会奏效。

int number = 12345678900;
StringBuilder sb = new StringBuilder();
String nums = number.ToString();
char[] numsChar = nums.ToCharArray();

for(int x = 1; x < numsChar.length; x++){
   if(x%4==0)
    sb.Append(numsChar[x-1] + @" ");
   else
    sb.Append(numsChar[x-1]);
}

String parsedNumber = sb.ToString();

答案 2 :(得分:1)

如果你有11个表示数字的字符串 所以你可以使用这样的东西

string num = "12345678901";
num.ToString("0000 0000");

我不确定,但我认为您希望将您的号码显示为电话号码并且易于记忆,因此请查看MSDN中的ToString方法规范

答案 3 :(得分:1)

如果您正在谈论包含数字字符的字符串,那么您可以使用它:

String.Format("{0:(####) #### ###}", 12345678900); OR
String.Format("{0:(####) #### ###}", txtPhoneNumber.text);

答案 4 :(得分:0)

假设您想要结果字符串“1234 5678 900”:

int num = 12345678900;
string numString = num.toString();

string result = String.Format("{0} {1} {2}",numString.SubString(0,4),numString.SubString(4,4),numString.SubString(8,3));

答案 5 :(得分:0)

你可以这样做:

Value.ToString("N", CultureInfo.InvariantCulture);

然后用空格替换点和逗号。 ; - )

答案 6 :(得分:0)

long numberlong = 12345678900;
string number = numberlong.ToString();
int first = Convert.ToInt32(number.Substring(0, 4));
int second = Convert.ToInt32(number.Substring(4, 4));
int third = Convert.ToInt32(number.Substring(8, 3));
label1.Text = first.ToString() + " " + second.ToString() + " " + third.ToString();