API не предоставляет цену в чистом виде.Я думаю, что синтаксический анализ строки не является худшим решением, вы можете использовать NumberStyles.Currency
, чтобы упростить это:
decimal d = decimal.Parse(price.FormattedPrice, NumberStyles.Currency);
Однако вам нужно убедиться, что вы действительно анализируете строку в правильной культуре, чтобыметод Parse
может справиться с этим.Вы также должны обернуть это в обработчик исключений, чтобы иметь альтернативное решение при сбое синтаксического анализа.
Валюта должна соответствовать текущей настройке региона пользователя.Вы можете получить это используя GlobalizationRegion
:
var geographicRegion = new Windows.Globalization.GeographicRegion();
var code = geographicRegion.CodeTwoLetter;