gpt4 book ai didi

mysql - 逗号后面多少个地方需要得到正确的四舍五入

转载 作者:行者123 更新时间:2023-11-29 03:22:04 25 4
gpt4 key购买 nike

假设您想为价格为 60 欧元的产品提供 5 欧元的折扣。

这等于折扣 0.08333... 或 8.333...%

当向后计算时,我会计算:

  • 圆(60 * 0.083333, 2) = 5,00
  • round(60 * 0.08333, 2) = 5,00
  • round(60 * 0.0833, 2) = 5,00
  • round(60 * 0.083, 2) = 4,98

问:逗号后面需要多少位才能得到准确的数字(对于货币交易),在任何基础价格上有多少折扣?

或者实际上,当在 MySQL 表中存储折扣时,我的 decimal(x,y) 类型参数应该是什么?

最佳答案

您需要累积误差小于 1/2 美分或 0.005。中间结果的相对准确性需要反射(reflect)这一点。如果计算中包含的价格均低于 10^k = 10^(k+2) 分,则需要 0.5*10^(-k-2)< 的相对精度 或至少 k+3 所有中间数字中的有效数字。

注意误差在计算的每一步都会累积,一阶相加,所以当一个计算有多个步骤时,计算的相对精度需要相应下调。 s 步的 log10(s) 有效位数。

在您的示例中,k=2 具有 2 步和四舍五入的结果,因此中间结果应至少有 5 有效数字确保得到正确的结果。

关于mysql - 逗号后面多少个地方需要得到正确的四舍五入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42649008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com