2016-06-02 14 views
-1

У меня есть строковое значение «2.000,65» в немецком (de-DE) формате культуры. Я хочу преобразовать это значение в десятичное, а также в английском (ed-US) формате в C#, например «2000.65».Как преобразовать строку «2.000,65» в десятичную 2.000.65 (en-Us) культуру в C#

Резюме: -

У меня есть строковое значение: "2.000,65"

Теперь хотел, чтобы преобразовать это значение в десятичном формате EN-US (американский английский), как: 2,000.65 в C#

Надеюсь, теперь его понятно, чтобы понять вопрос.

Я пробовал различный вариант, но не смог его достичь.

Не могли бы вы помочь мне?

Спасибо.

Herin

+2

показать, что вы попробовали. десятичные знаки не имеют формата, их строковые представления делают – Sayse

+0

Это очень простой язык, чтобы понять вопрос ... !!!! – Herin

ответ

1
decimal money = decimal.Parse("2.000,65", new CultureInfo("de-DE")); 
string result = money.ToString("N2", new CultureInfo("en-US")); 

Если вы хотите, чтобы показать знак доллара можно использовать "C" вместо "N2".

+0

Привет, Тим, это хорошо, но значение после десятичной точки не приходит в английскую (en-US) культуру после преобразования из de-DE. Итак, здесь, в ed-US формате, он показывает 2000 вместо 2000.65. Что делать, чтобы получить десятичное значение? – Herin

+0

Что такое «ed-US»? Вы пробовали мой код? Он работает так, как ожидалось. –

+0

Извините, не ed-US, его en-US. И я пробовал ваш код, его работа, но значение после десятичных знаков не наступает. Итак, здесь, в моем случае, он показывает значение 2000.00 вместо 2000.65. – Herin

0
string stringValue = "2.000,65"; 
var decimalValue = decimal.Parse(stringValue, new CultureInfo("de-DE")); 
var decimnalUsValue = decimalValue.ToString("N2", new CultureInfo("en-US")); 

 Смежные вопросы

  • Нет связанных вопросов^_^