为什么SAP Business One SDK使用双倍的钱?

问题描述 投票:1回答:1

我总是读到我应该使用decimal或类似的钱和财务计算(example)。但是我可以看到,所有的Business One SDK都使用doubles?这个可以吗?我希望每次进行计算时都将double值转换为小数,而不是返回double如果我想将它设置为API对象(我目前做什么)?

enter image description here

注意:SQL数据库使用numeric(19,6)表示这些值。

sap sapb1
1个回答
0
投票

尽管在Visual Studio中可能看起来像什么,但SAP SDK实际上并不是一个.Net本地库 - 它是使用COM Interop的C / C ++ dll上的.Net包装器。

我不认为decimal是C / C ++中的原生类型,它肯定不是.Net中的基本/内在类型(不像stringintdouble等) - 它使用起来也比较慢,因为没有固有的CPU十进制操作的指令(与基本类型不同)。

因为在C / C ++中没有等价物,所以必须将其转换为底层库可以理解的类型 - 无论如何,这种类型可能都是double

© www.soinside.com 2019 - 2024. All rights reserved.