dot*_*tty 2 javascript floating-point compare
干草伙计,我有2个花车,都来自输入盒.
我需要比较这两个浮点数,如果一个是负数,一个是正数则抛出一个错误.如果他们既是积极的,也可能都是消极的,那很好.
有任何想法吗?
谢谢
Chr*_*isF 11
将它们相乘.
如果答案是肯定的,那么它们都是相同的标志.
如果答案是否定的,那么它们的符号相反.
如果答案为零(在某个值内处理舍入误差),则一个或两个都为零,您必须单独检查它们.然后,您必须决定在您的方案中0被视为正面还是负面.
虽然可以检测产品的符号,但这并不是您感兴趣的.特别是如果您要在大量浮子上使用它(例如,检测时间流中的过零点).
最简单的方法是准确表达你的要求:是否等于b的符号?
function samesign( a, b ) {
var aPositive = a >= 0;
var bPositive = b >= 0;
return aPositive == bPositive;
}
Run Code Online (Sandbox Code Playgroud)
或更短:
function samesign( a, b ) { return (a>=0) == (b>=0); }
Run Code Online (Sandbox Code Playgroud)