我总是读到我应该使用decimal
或类似的钱和财务计算(example)。但是我可以看到,所有的Business One SDK都使用double
s?这个可以吗?我希望每次进行计算时都将double值转换为小数,而不是返回double如果我想将它设置为API对象(我目前做什么)?
注意:SQL数据库使用numeric(19,6)
表示这些值。
尽管在Visual Studio中可能看起来像什么,但SAP SDK实际上并不是一个.Net本地库 - 它是使用COM Interop的C / C ++ dll上的.Net包装器。
我不认为decimal
是C / C ++中的原生类型,它肯定不是.Net中的基本/内在类型(不像string
,int
,double
等) - 它使用起来也比较慢,因为没有固有的CPU十进制操作的指令(与基本类型不同)。
因为在C / C ++中没有等价物,所以必须将其转换为底层库可以理解的类型 - 无论如何,这种类型可能都是double
。