1

У меня есть количество хранящегося в десятичной result:десятичный формат строка в C# с помощью .ToString()

Eg. decimal result = 1935698.27;

Как можно отформатировать, что в String с помощью .ToString() так, что он выглядит следующим образом: R 1 935 698,27

Это необходимо сделать следующее:

  • Добавить R (принять к сведению пространства) в передняя часть String
  • Добавить пробелы, чтобы сгруппировать значение в 3х (т.е. R 00 000 000 000,00)
  • Заменить . с ,

Этот формат в соответствии с валютным форматом Южноафриканского Рэнд.

Это то, что у меня есть:

decimal result = 1935698.27; 
string strResult = result.ToString("What should I put here?"); // Need help 

// Expected strResult = "R 1 935 698,27" 

Любая помощь очень ценится!

ответ

4

Это построено - просто используйте южноафриканскую культуру и currency format specifier.

var result = 1935698.27m; 
var ci = new CultureInfo("en-ZA"); 
var strResult = result.ToString("C", ci); 
// strResult is R 1 935 698,27 

См. this fiddle.

+0

Это не добавляет пробела между 'R' и суммой. –

+0

Он делает - см. Скрипку. Я копирую/вставляю вывод в ответ. –

+0

Хм, должно быть, что-то еще на моей стороне, спасибо. –