javascript中的数学问题

javascript中的数学问题,javascript,Javascript,如何生成执行以下操作的脚本: 了解有多少现金可用 抢占产品价格 告诉我有多少产品可以用我所拥有的来购买,还有多少剩余 购买=现金/价格(1) buyingLeftover=valCash-(购买*价格)(2) 。。。。。。(1) 在第(2)段中 购买剩余=增值现金-((增值现金/价格)*价格) buyingLeftover=valCash-(valCash) 购买剩余=0 问题在于数学,而不是JavaScript。你首先发现你可以买X个数量的东西,并将其存储在“购买”中。但是,您将继续始终

如何生成执行以下操作的脚本:

  • 了解有多少现金可用
  • 抢占产品价格
  • 告诉我有多少产品可以用我所拥有的来购买,还有多少剩余

购买=现金/价格(1)

buyingLeftover=valCash-(购买*价格)(2)

。。。。。。(1) 在第(2)段中

购买剩余=增值现金-((增值现金/价格)*价格)

buyingLeftover=valCash-(valCash)

购买剩余=0


问题在于数学,而不是JavaScript。你首先发现你可以买X个数量的东西,并将其存储在“购买”中。但是,您将继续始终生成0

var buying = valCash / price;
var buyingLeftover = valCash - (buying * price);
这很容易看出,只需使用替换

var buying = valCash / price;
var buyingLeftover = valCash - ( (valCash / price) * price);
那是

var buying = valCash / price;
var buyingLeftover = valCash - valCash;
为了不获得0,您需要避免购买部分产品。这意味着只有整数。可以通过将数字解析为整数来实现这一点

var buyingLeftover = valCash - (parseInt(buying,10) * price);
现在你将从购买中得到剩余的东西

var valCash = 8;//prompt("How much do you have?");
var price = 6;//prompt("Whats the product price?");
var buying = valCash / price;
console.log(buying);//1.3333333333333333
var buyingLeftover = valCash - (parseInt(buying,10) * price);
console.log(buyingLeftover);//2

valCash
price
是字符串。使用
parseFloat
。您的输出告诉您可以用您的钱购买8点左右的产品实体。因此,在乘以
buying*price
之前,您必须删除
buying
中的小数。提示
Math.floor()
欢迎来到SO Geovani!听起来你可以使用
while
循环。检查剩余金额是否大于其他项目的成本,如果大于,则减去其他项目。否则,返回余数和项数(计数器)。记住,SO的目的是提供对许多人有用的问题,而不仅仅是解决你的问题,所以尽可能多地做背景调查以避免被否决。@DanielA.White,在这种情况下并不重要。它们将被转换成数字。@GeovaniC:
buying=valCash/price
。因此,
valCash=buy*price
。因此,
buyingLeftover
将始终为0。但如何避免得到零?@GeovaniC-请参阅编辑。通过解析浮点数中的整数,确保不购买部分产品。谢谢!现在我明白了!。
var valCash = 8;//prompt("How much do you have?");
var price = 6;//prompt("Whats the product price?");
var buying = valCash / price;
console.log(buying);//1.3333333333333333
var buyingLeftover = valCash - (parseInt(buying,10) * price);
console.log(buyingLeftover);//2