Я должен отображать банковские счета Новой Зеландии и Австралии в отчетах, отформатированных в соответствии с пользовательским форматом, предоставленным пользователем. Например, банковские счета NZ могут быть 00-0000-0000000-000, причем последняя цифра (суффикс банковского счета) является необязательной. Есть две части формата:Отображение формы банковского счета Новой Зеландии
- Размещение черточек
- 2 цифры префиксов
Примеры отформатированные банковские счета могут быть 01-1234-1234567-55 и 01-1234-1234567-002 , Банковские счета хранятся в базе данных без форматирования. Когда я попробовал String.Format («{0: 00-0000-0000000-00 #}», 121234123456712), он не возвращает ожидаемые 12-1234-1234567-12, но 01-2123-4123456-712.
Понятно, что я всегда мог проверять длину банковского счета и выполнять оператор switch, но формат определяется пользователем.
Ниже обеспечивает черточки расположены правильно и суффикс правильно:
// ensure there is a format to use and a bank account is present
if (bankaccountformat != "" && bankaccountformat.Contains('-') && bankaccount != "")
{
int i = 0;
foreach (char dash in bankaccountformat)
{
// add dash in bank account, if bank account is long enough
if (dash == '-' && bankaccount.Length > i)
{
bankaccount = bankaccount.Insert(i, "-");
}
i++;
}
}
Вопрос не, если учетная запись является действительным или нет, это форматирование. Пожалуйста, дайте мне знать о том, как лучше форматировать учетную запись.
Я забыл упомянуть, что я использую C# –
О, строковые манипуляции на C# тоже легки. Я не использую C#, поэтому я не могу предоставить сценарий, но надеюсь, что вы получите эту идею. – linuph