【问题标题】:How do you handling floating point arithmetic when using the ParseObject.increment() function使用 ParseObject.increment() 函数时如何处理浮点运算
【发布时间】:2021-12-06 19:58:27
【问题描述】:

在 javascript 中,我们知道某些浮点运算会产生包含非常小的余数的值。例如,如果我打开控制台并进行数学运算,我会得到如下所示的结果

通常必须知道在完成这些操作后进行舍入。使用 parse 并使用 increment 函数时。如果我的数据库中有一个名为 Quantity 的列,并且它当前的值为 6.5,我调用myobject.increment("Quantity", -4.1),我们最终会在数据库中得到一个未舍入的值。此处需要使用增量,因为许多实体可能同时或几乎同时调整此列,因此竞争条件是一个问题。

既然算术是在幕后进行的,那么 parse 期望如何处理我上面提到的情况。

【问题讨论】:

  • 您想要多少位有效数字? Math.round 将一直截断为整数。
  • @JaredSmith 我不认为我遵循你能告诉我如何将 parse increment 函数与 Math.round 结合使用我认为问题是数学发生在增量内部作为解析平台一部分的函数

标签: javascript parse-platform


【解决方案1】:

您可以选择以下两种方法之一:

  1. 更改increment函数内部的逻辑。
  2. 在外部进行增量并使用一些 setter。

无论如何,如果您想防止不精确的值,您应该手动舍入它。 Look here for number rounding answer

【讨论】:

  • 难道 parse 真的没有为此提供开箱即用的解决方案吗?
猜你喜欢
  • 2023-03-17
  • 2019-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-25
相关资源
最近更新 更多