Получить цену продукта в приложении в двойном размере - PullRequest
0 голосов
/ 09 июня 2018

Как узнать цену на расходный продукт из кода C #?Мне нужно это как double, но объект StorePrice, кажется, предлагает только FormattedPrice в виде строки (например, "42,00 $"):

var storeProducts = await this.storeContext.GetStoreProductsAsync(new[] { "UnmanagedConsumable" }, new[] { "xyz" });
var iap = storeProducts.Products["xyz"];
var price = iap.Price;
price.FormattedPrice ...

Мне нужно получить цену как doubleтак что я могу рассчитать, насколько дешевле один IAP по сравнению с другим.

Похоже, мне придется разобрать сумму из отформатированной строки, но это выглядит глупо.Есть ли другие варианты?

1 Ответ

0 голосов
/ 10 июня 2018

API не предоставляет цену в чистом виде.Я думаю, что синтаксический анализ строки не является худшим решением, вы можете использовать NumberStyles.Currency, чтобы упростить это:

decimal d = decimal.Parse(price.FormattedPrice, NumberStyles.Currency);

Однако вам нужно убедиться, что вы действительно анализируете строку в правильной культуре, чтобыметод Parse может справиться с этим.Вы также должны обернуть это в обработчик исключений, чтобы иметь альтернативное решение при сбое синтаксического анализа.

Валюта должна соответствовать текущей настройке региона пользователя.Вы можете получить это используя GlobalizationRegion:

var geographicRegion = new Windows.Globalization.GeographicRegion();
var code = geographicRegion.CodeTwoLetter;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...