Как преобразовать строку в формат Indian Money?

Я пытаюсь преобразовать строку в формат «Деньги Индии», как если бы вход был «1234567», тогда вывод должен появиться как «12,34,567»,

Я написал следующий код, но не дал ожидаемого результата.

CultureInfo hindi = new CultureInfo("hi-IN"); string text = string.Format(hindi, "{0:c}", fare); return text; 

может ли кто-нибудь сказать мне, как это сделать?

Если fare является любым из int , long , decimal , float или double тогда я получаю ожидаемый результат:

₹ 12,34,567.00 .

Я подозреваю, что ваш fare фактически является string ; строки не форматируются string.Format : они уже являются строкой: нет значения для форматирования . Итак: сначала проанализируйте его (используя то, что подходит, возможно, инвариантный десятичный синтаксический анализ), затем отформатируйте анализируемое значение; например:

 // here we assume that `fare` is actually a `string` string fare = "1234567"; decimal parsed = decimal.Parse(fare, CultureInfo.InvariantCulture); CultureInfo hindi = new CultureInfo("hi-IN"); string text = string.Format(hindi, "{0:c}", parsed); 

Редактировать комментарии; для получения только форматированного значения без символа валюты или десятичной части:

 string text = string.Format(hindi, "{0:#,#}", value); 

String.Format («0: C0») без десятичных знаков.

В соответствии с моим комментарием выше вы можете достичь того, чего хотите, клонировав numberformatinfo и задав свойство символа валюты пустым строкам

Пример можно найти здесь – посмотрите внизу страницы

EDIT: Вот приведенный выше связанный пост, отформатированный для вашего вопроса:

 var cultureInfo = new CultureInfo("hi-IN") var numberFormatInfo = (NumberFormatInfo)cultureInfo.NumberFormat.Clone(); numberFormatInfo.CurrencySymbol = ""; var price = 1234567; var formattedPrice = price.ToString("0:C0", numberFormatInfo); // Output: "12,34,567" 
  • В Windows 8 мой коврик для мыши перестает отвечать (на 1 секунду) на ввод после ввода на клавиатуре
  • В чкдске, что такое онлайн-сканирование?
  • Wake on Lan не работает в Windows 8
  • Как изменить шрифты в Windows 8
  • Обновление до Windows 8 на зашифрованном диске завершилось неудачно и испортило мой пароль BIOS TrueCrypt
  • Именованная группа плиток (приложений) в Windows 8?
  • Можете ли вы заставить Visual Studio работать в качестве администратора в Windows 8?
  • Как запустить пакетный скрипт перед входом в систему?
  • Приложение Remote Desktop не может подключаться через VPN или через RDP load balancer
  • Как создать общую учетную запись рабочей группы для учетной записи Windows 8 Online?
  • Экран моего ноутбука не включается после перезапуска, но после завершения работы
  • Interesting Posts

    Есть ли что-то вроде общего списка в Cocoa / Objective-C?

    вставить, удалить, max в O (1)

    Как сохранить сюжет в файл PDF без большого запаса вокруг

    Подключение к Visual Studio для отладки сервера IIS Express через LAN

    Безлимитное переключение между областями DVD на MacBook Pro?

    Текстовый редактор в виде блокнота с автосохранением

    Отмена длительного процесса в VB6.0 без DoEvents?

    Будет ли Windows 7 32-разрядная версия поддерживать 8 ГБ оперативной памяти?

    Запрос файла CSV

    Есть ли простой способ скопировать аудио компакт-диск в Mac OS X?

    ValueError: ошибка при проверке цели: ожидаемая модель_2 должна иметь форму (None, 252, 252, 1), но получен массив с формой (300, 128, 128, 3)

    Получить текущую позицию прокрутки ScrollView в React Native

    Слишком мало параметров Ожидаемый 1, проблема с набором записей

    Windows XP не показывает экран входа в систему после открытия крышки ноутбука

    Ошибка: конфликт с зависимостью «com.google.code.findbugs: jsr305»

    Давайте будем гением компьютера.