我总是读到我应该使用decimal
或类似的货币和财务计算(example)。但是,据我所知,所有的Business One SDK都使用double
?这个可以吗?如果我想为API对象设置它(我目前正在做什么),我是否希望每次执行计算时都将double值转换为小数,而不是转换为double?
注意:SQL数据库对这些值使用numeric(19,6)
。
答案 0 :(得分:0)
尽管在Visual Studio中是什么样,SAP SDK并不是真正的.Net本机库-它是使用COM Interop覆盖C / C ++ dll的.Net包装器。
我不认为decimal
是C / C ++中的本机类型,并且肯定不是.Net中的基本/本征类型(与string
,int
, double
等)-使用起来也较慢,因为没有用于Decimal操作的固有CPU指令(与基本类型不同)。
由于C / C ++中没有等效项,因此必须将其转换为基础库可以理解的类型-而且该类型很可能还是double
。