C# ToString("C") преобразование десятичной дроби в фунты валютных значений вместо доллара
Я конвертирую двойное значение в формат строки валюты, и он получает конвертированную строку с валютой символа фунта. Это зависит от культуры?
3 ответа
Если вы всегда хотите использовать конкретную локаль, что может быть желательно, если цель вашего сервера размещена в другом часовом поясе и т. Д.... ToString() может быть предоставлен с аргументом CultureInfo.
Как преобразовать строку в удвоение с правильной cultureinfo
Если вы хотите адаптировать его к локали пользователя, вы можете проверить значения запроса:
Получить CultureInfo от текущего посетителя и настроить ресурсы на основе этого?
Вероятно, это не самый лучший / самый эффективный способ сделать это, но нужно указать десятичную дробь, которую вы хотите отобразить в фунтах, и просто заменить знак доллара на знак фунта.
decimal monies = 2.50m;
string moniesString = monies.ToString();
string moniesFormatted = string.Format("{0}£", moniesString);
Опять же, это, скорее всего, не лучший или самый эффективный способ сделать это, но это обходной путь, чтобы избежать необходимости изменять настройки компьютера.
Надеюсь это поможет! Если нет, дайте мне знать, и я удалю ответ (мне пришлось использовать ответ, потому что я не могу комментировать менее 50 представителей, в противном случае я бы использовал комментарий, чтобы получить больше ясности, прежде чем ответить).