【发布时间】:2011-03-28 15:05:37
【问题描述】:
我正在尝试将信用卡号显示为字符串,例如 #### #### #### ####
我试过了:
txtbox.Text = string.Format("{0:#### #### #### ####}", ccNumber);
它没有工作。有什么想法吗?
【问题讨论】:
-
“没用”不是错误描述。结果是什么,你期待什么?
-
并非所有信用卡号码都是 16 位数字,因此请注意,有些可能低至 12 位,有些则高达 20 位。
-
我希望字符串在四位数之后有一个空格 - 1234 5678 9123 4567 - 它看起来像 1234567891234567。
-
传递的抄送号码已经是字符串格式 - 所以格式化不起作用。 String.Format("{0:0000 0000 0000 0000}", long.Parse(ccNumber)) 按预期工作;
-
John Batdorf 在这里是正确的 - 几家卡运营商的 16 位数字或多或少都超过“标准”。例如,美国运通有 15 位数字,以 0000 000000 00000 的格式排列。其他国际卡如 Maestro 可以有少至 12 位,多至 19 位。执行显示时,您可能需要考虑卡载体。见:en.wikipedia.org/wiki/Bank_card_number
标签: c# asp.net string formatting