【问题标题】:Why SAP Business One SDK uses double for money?为什么 SAP Business One SDK 使用 double 来赚钱?
【发布时间】:2021-01-05 03:28:20
【问题描述】:

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

注意:SQL 数据库将numeric(19,6) 用于这些值。

【问题讨论】:

    标签: sapb1


    【解决方案1】:

    尽管它在 Visual Studio 中看起来像这样,但 SAP SDK 并不是真正的 .Net 原生库 - 它是使用 COM 互操作的 C/C++ dll 上的 .Net 包装器。

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

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

    【讨论】:

      猜你喜欢
      • 2012-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      相关资源
      最近更新 更多