Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对信用卡号使用字符串格式_C#_Asp.net_String_Formatting - Fatal编程技术网

C# 对信用卡号使用字符串格式

C# 对信用卡号使用字符串格式,c#,asp.net,string,formatting,C#,Asp.net,String,Formatting,我正在尝试将信用卡号码显示为类似于###########的字符串#### 我试过: txtbox.Text = string.Format("{0:#### #### #### ####}", ccNumber); 但它不起作用。有什么想法吗 String.Format("{0:0000 0000 0000 0000}", number) 编辑 我将我的评论粘贴到此处以使其可读: ccNumber是整数还是字符串? 如果它是int,它应该可以工作。如果是字符串,你需要做一个 String.F

我正在尝试将信用卡号码显示为类似于###########的字符串####

我试过:

txtbox.Text = string.Format("{0:#### #### #### ####}", ccNumber);
但它不起作用。有什么想法吗

String.Format("{0:0000 0000 0000 0000}", number)
编辑

我将我的评论粘贴到此处以使其可读:


ccNumber是整数还是字符串? 如果它是int,它应该可以工作。如果是字符串,你需要做一个

String.Format("{0:0000 0000 0000 0000}", (Int64.Parse("1234567812345678")))

您最好创建一个蒙版文本框,并将蒙版设置为:

 this.maskedTextBox1.Mask = "0000 0000 0000 0000";
或将字符串格式设置为:

 long number = 1234123412341234;
 textBox1.Text = String.Format("{0:0000 0000 0000 0000}", number);
ccNumber可以是字符串

Regex.Replace(ccNumber, @"(\w{4})(\w{4})(\w{4})(\w{4})", @"$1 $2 $3 $4");

“不起作用”不是错误描述。结果是什么?你期望什么?也不是所有的信用卡号码都是16位,所以要小心,有些可能低至12位,其他高达20位。我希望字符串在四位数字之后有一个空格-1234 5678 9123 4567-它看起来像123456781234567。正在传递的cc号已经是字符串格式-因此格式设置不起作用。String.Format(“{0:0000}”,long.Parse(ccNumber))按预期工作;约翰·巴特多夫(John Batdorf)在这里是正确的——一些信用卡运营商的16位数字大于或小于“标准”数字。例如,美国运通有15位数字,以0000 00000000000的格式排列。其他国际卡,如Maestro卡,数字可以少至12位,多至19位。在执行显示时,您可能需要考虑卡载体。请参阅:我希望字符串在四位数字(1234 5678 9123 4567)后有一个空格,看起来像123456781234567。ccNumber是Int还是字符串?如果是int,它应该可以工作;如果是字符串,则需要执行string.Format(“{0:0000},”(Int64.Parse(“12345678812345678”))确保数字不是字符串格式!一旦我转换为long,它就如预期的那样工作了。但使用这种方法的主要问题是所有前导和尾随的0都将被销毁。@Chris Marisic String。如果使用####而不是0000进行格式化,Format只会剪切前导和尾随的0。
Regex.Replace(ccNumber, @"(\w{4})(\w{4})(\w{4})(\w{4})", @"$1 $2 $3 $4");