gpt4 book ai didi

php - MySQL 存储过程中的数学公式返回不正确的值

转载 作者:行者123 更新时间:2023-11-30 00:54:22 24 4
gpt4 key购买 nike

我有一个 MySQL 存储过程,其中有这个公式 -

chamt = CEIL((金额 - (金额 * ((百分比/100) * 利润)/100)) * 100)/100;

(我将公式乘以并除以 100,以便始终得到两位小数)

<小时/>

案例 1 - 替换值 -

chamt = CEIL((103.00 - (103.00 * ((100.00/100) * 2.70)/100)) * 100)/100;

在这里,我得到的 chamt 为 100.22,这是绝对正确的。

<小时/>

案例 2 - 替换值 -

chamt = CEIL((200.00 - (200.00 * ((100.00/100) * 2.25)/100)) * 100)/100;

在这里,我得到的 chamt 为 195.51,而它应该是 195.50

<小时/>

我正在尝试摆脱这种情况,但无法在“情况 2”中获得正确的值。各位,请帮助我。

最佳答案

请记住,当您使用实型数字时,它会使用小数。

你知道 1/3 = 0.3333333333...

并且 (1/3)*3 = 1 (对于你来说);但请记住,PC 不能使用 1/3,它们使用 0.3333333,因此,当您执行乘法 (1/3)*3 时,PC 会执行以下操作:(0.333333333)*3,结果为 0.9999999。

并且 0.9999 != 1。

也许您用来执行操作的变量类型不适合该应用程序。

关于php - MySQL 存储过程中的数学公式返回不正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20715960/

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