0 javascript floating-point equation decimal
我正在研究一个计算器,以确定在x天数之后有多少物质仍存在于某人体系中.这三个变量是每天服用的量,服用的天数以及物质的半衰期.我的下面的公式可能不是100%正确,但这不是我现在遇到的问题.我遇到的问题是将答案转换为整数.我哪里错了?我需要一切保持浮点(十进制)值.
PS忽略评论,他们只是在这里添加解释变量.
dose = 8.00 // 8mg dose
meta = 70.0 // 70 hour half-life
days = 5 // 5 days of use
sys = dose * (1.0/2.0) ^ (24.0/meta)
for(x=2; x <= days; x++){
sys = ((sys+dose) * (1.0/2.0) ^ (24.0/meta))
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
^在javascript中不是数学'加速到幂'运算符,它是按位XOR运算符,并且总是给出一个整数.你想pow在Math课堂上使用.
尝试
sys = dose*Math.pow((1.0/2.0), (24.0/meta))
Run Code Online (Sandbox Code Playgroud)
和
sys = (sys+dose)*Math.pow((1.0/2.0), (24.0/meta))
Run Code Online (Sandbox Code Playgroud)
代替