Javascript 将一个数字除以一个百分比
我有一个初始值,比如3700,我想把它平均除以一个百分比。我有以下代码:Javascript 将一个数字除以一个百分比,javascript,node.js,Javascript,Node.js,我有一个初始值,比如3700,我想把它平均除以一个百分比。我有以下代码: let available=3700,百分比=10 对于(让索引=0;索引${Use}`) log(`Before reduction>${available}`) 可用-=使用 console.log(`After reduction>${available}\n`) }定义use时,只需去掉条件。这应该可以解决它 let available = 3700, percent = 10 let availableBegi
let available=3700,百分比=10
对于(让索引=0;索引<10;索引++){
让我们使用=索引==0?(百分比/100)*可用:可用/((百分比-索引)%percent)
log(`Index:${Index}Use>${Use}`)
log(`Before reduction>${available}`)
可用-=使用
console.log(`After reduction>${available}\n`)
}
定义use时,只需去掉条件。这应该可以解决它
let available = 3700, percent = 10
let availableBeginning = available
for (let index = 0; available > 0 ; index++) {
let use = percent / 100) * availableBeginning
console.log(`Index: ${index} | Use > ${use}`)
console.log(`Before reduction > ${available}`)
available -= use
console.log(`After reduction > ${available}\n`)
}
这对你的案子有用。我不知道为什么你有可用的/((百分比-指数)%percent)),这基本上就是把你的原始数字除以你想要扣除的百分比,然后取它和原始百分比的模。在本例中,在0之后,你的行为是use=878.75,因为你将3515除以(5-1)%5,其中=4。3515 / 4 = 878.85. 这将相当快地扣除,因为您在每次迭代中将至少1/%的值作为您已经扣除的数字的整数 事实证明,你的使用逻辑实际上是毫无意义的,如果你想在每次迭代中扣除偶数,你不必根据任何逻辑设置它……只要反复计算并扣除你想要的次数 无论如何,解决方案如下:
let available = 3700, percent = 5;
// This is going to be the constant deduction you will continue to use
let deduction = 3700 * (percent / 100);
for (let index = 0; index < 10; index++) {
console.log(`Index: ${index} | Use > ${deduction}`)
console.log(`Before deduction > ${available}`)
available -= deduction
console.log(`After deduction > ${available}\n`)
}
let available=3700,百分比=5;
//这将是您将继续使用的常量扣减
扣除额=3700*(百分比/100);
对于(让索引=0;索引<10;索引++){
log(`Index:${Index}使用>${reduction}`)
console.log(`Before declusion>${available}`)
可用-=扣除额
console.log(`扣除后>${available}\n`)
}
重要变化:修改了三元操作,改变了回路测试
见下面的工作代码:
let available = 3700, percent = 20
for (let index = 0; index < 100/percent; index++) {
let use = index == 0 ? (percent / 100) * available : available / (100/percent - index)
console.log(`Index: ${index} | Use > ${use}`)
console.log(`Before reduction > ${available}`)
available -= use
console.log(`After reduction > ${available}\n`)
}
let available=3700,百分比=20
对于(让指数=0;指数<100/百分比;指数++){
使用=指数==0?(百分比/100)*可用:可用/(100/百分比-指数)
log(`Index:${Index}Use>${Use}`)
log(`Before reduction>${available}`)
可用-=使用
console.log(`After reduction>${available}\n`)
}
您的案例有什么意外行为?预期的行为是什么?为什么你有(百分比-指数)%percent
-你打算在这里计算什么?^当然也必须同意这个问题。你是想扣减到可用=0还是扣减10次?@Andrew扣减到0所以,扣减10次后,结果应该是零。这有百分比吗?百分比是多少?这是使用百分比的百分比。对我不起作用。您只需保存可用的原始值即可继续获取百分比。我无法保存初始值,因为此数字是动态的。请检查答案。它只是将原始值复制到一个新的变量检查这个注释:没有问题,如果我的数字在最后不是零,我只需要将它平均除以一个固定的百分比。我添加了一个例子,使用了5%的百分比,你没有提到你希望它变为零,或者基本上,直到它不能再扣除吗?这将适用于这种情况。检查此注释:适用于20%,但不适用于5%:/它现在起作用。再查一遍。我从三元数据中删除百分比