编码数学问题以找出两个可能为负数的数字之间的差异

时间:2010-11-04 12:54:25

标签: objective-c math

我正在尝试编写一些c代码(目标c),它将从用户处获取银行帐户余额和期望的余额,并生成一个值,我可以在当前余额中添加或减去该值以实现所需的余额。

我认为我的事情过于复杂,继承了我所拥有的......

//get desired amount to variable dblDesiredBalance
//get balance from database to variable balFromDB

double addAmount = fabs(balFromDB) + fabs(dblDesiredBalance);
double minusAmount = fabs(dblDesiredBalance) - fabs(balFromDB);

// create amount to add to db
if (dblDesiredBalance < 0 ) {
    if (balFromDB < 0 ) {
        dblCommitToDB = balFromDB - minusAmount;
    } else {
        dblCommitToDB = balFromDB - addAmount;
    }
} else {
    if (balFromDB < 0 ) {
        dblCommitToDB = balFromDB + addAmount;
    } else {
        dblCommitToDB = balFromDB + minusAmount;
    }
}
// update db with dblCommitToDB

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:8)

为什么不从简单的代数开始:

current_balance + delta = desired_balance

然后解决delta:

delta = desired_balance - current_balance

这与标志无关 - 你知道代数规则和所有。