当前位置 : 主页 > 大数据 > 区块链 >

Cocoa Decimals和Protocol Buffers,与.NET的兼容性

来源:互联网 收集:自由互联 发布时间:2021-06-22
我一直在使用使用 CocoaTouch编写的iOS应用程序使用Protocol Buffers,并且遇到了可能相当于带有十进制数字的新手错误. 协议缓冲区没有本机十进制类型 – 对于所有类型,请参阅http://code.goo
我一直在使用使用 CocoaTouch编写的iOS应用程序使用Protocol Buffers,并且遇到了可能相当于带有十进制数字的新手错误.

协议缓冲区没有本机十进制类型 – 对于所有类型,请参阅http://code.google.com/apis/protocolbuffers/docs/proto.html#scalar.相反,我做了(现在显然是不正确的)假设,浮点数可以代替小数.它没有,因为有四舍五入的问题.

Cocoa在NSDecimal.h中有一组C函数,它们看起来很吸引人.但是,由于我正在与一个用.NET编写代码的服务器进行通信,因此我需要一种方法来转换为两种系统都可以理解的格式.

我假设我将使用原始的“字节”类型在两个系统之间传输数据,并在每个环境中转换为本机十进制类型:Cocoa端的NSDecimal,.NET端的Decimal.在这里,我不清楚如何继续.

我应该使用什么中间格式 – 二进制编码的小数似乎是一种可能性,但我必须自己实现一个算法来转换两个系统.

是否有一个字节编码的十进制格式,.NET和Cocoa都说我可以使用?

非常感谢.

我随机乱砍了一个相当随意的protobuf-net格式,它映射到.NET十进制类型 – 布局 is here.这适用于.NET-to-.NET,但我不太了解Cocoa小数知道怎么样.
网友评论