-6

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

例如; 号码是 12345678900

使用 parse 它应该是 ; 1234 5678 900

我怎样才能做到这一点?

4

7 回答 7

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
于 2013-08-16T14:47:12.443 回答
1

如果你有代表数字的 11 个字符的字符串,那么你可以使用这样的东西

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

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

于 2013-08-16T14:49:33.640 回答
1

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

String.Format("{0:(####) #### ###}", 12345678900); OR
String.Format("{0:(####) #### ###}", txtPhoneNumber.text);
于 2013-08-16T14:51:01.057 回答
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();
于 2013-08-16T14:47:41.157 回答
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));
于 2013-08-16T14:50:28.903 回答
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();
于 2013-08-16T15:04:58.053 回答
0

你可以这样做:

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

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

于 2013-08-16T14:57:23.657 回答