从 `NSDecimal` 或 `NSDecimalNumber` 转换为 C# 的 `decimal` 类型

sbl*_*lom 3 c# decimal type-conversion xamarin.ios nsdecimalnumber

我有一个NSDecimalNumber来自 StoreKit 的SKProduct类,我想将它转换为 C# 的decimal类型以最小化精度损失。有没有一种直接的方法来做这样的事情?

我想我的两个选择是:

  1. 假设我了解每个的二进制实现并进行我自己的按位转换,或者
  2. NSDecimalNumber给我一个字符串,然后有decimal解析它。

我认为选项 1 工作量太大,甚至可能很脆弱,所以我倾向于选择选项 2。但这似乎也不是我能做的最好的。(我可以忍受它有多慢,因为它很少发生。

pou*_*pou 5

NSDecimalNSDecimalNumber结构表示与 .NET 不同System.Decimal

转换总是可能的,但并不容易。如果性能不是一个大问题,那么最好使用string表示在它们之间进行转换。