2013-11-28 160 views
-1

我目前正在设置几个公式计算器。在我有这个公式:Javascript公式计算

VC = DS *π.ns/ 60000

这个脚本:

<script> 
    (function() { 
    function calculateVc(ds, ns) { 
    return (ds * 3.14159265359 * ns/60000); 
    } 

    var Vc = document.getElementById("VC"); 
    if (Vc) { 
    Vc.onsubmit = function() { 
     this.Vc.value = calculateVc(this.ds.value, this.ns.value); 
     return false; 
    }; 
    } 
    }()); 
    </script> 

这完美的作品。然后我有这个脚本的反向公式:ns = vc * 60000 /(ds *π):

<script> 
    (function() { 
function calculateNs(ds, vc) { 

    return (vc * 60000/ds * 3.14159265359); 
} 

var Ns = document.getElementById("Ns"); 
if (Ns) { 
    Ns.onsubmit = function() { 
     this.ns.value = calculateNs(this.ds.value, this.vc.value); 
     return false; 
    }; 
} 
    }()); 
    </script> 

这不符合要求。将第一个结果重新用于后向公式会得出与预期不同的结果。我想这是一个格式错误或一个错字。

+0

这是怎么题外话? “询问...... 特定的编程问题 软件算法 编码技术 的软件开发工具” 我问了一个相关的问题,甚至有一个相关的答案。你们一起制定规则吗?或者这是“我个人看来”的情况? –

+2

您可能希望继续阅读以下内容:“此问题是由于无法再现的问题或简单的印刷错误导致的” –

+0

所以是这一个:http://stackoverflow.com/questions/3066421/writing例如,一个新的在线文件在php中,但我看到在评论中的重大差异。 –

回答

2

尝试添加一对括号:

return (vc * 60000/(ds * 3.14159265359)); 
+0

已经尝试过。没有运气。 –

+1

我认为安德鲁是正确的http://jsfiddle.net/sR5Sd/,你可以举一个不适用的输入示例吗? – mitomed

+0

我很抱歉。这是一个浏览器缓存问题。你们都完全正确。非常感谢你! –