Red de conocimientos turísticos - Información de alquiler - Un problema al agregar operaciones en js, pero ocurre un problema después de agregar.

Un problema al agregar operaciones en js, pero ocurre un problema después de agregar.

Cuando los decimales de JavaScript realizan cuatro operaciones aritméticas, se perderá la precisión

Entonces necesitas escribir una función para manejar esta situación, como las siguientes funciones útiles:

//Nota: El resultado de la suma de JavaScript tendrá errores, que serán más obvios al sumar dos números de punto flotante. Esta función devuelve un resultado de suma más preciso.

//Llamada: accAdd(arg1, arg2)

//Valor de retorno: el resultado exacto de arg1 más arg2

función accAdd(arg1, arg2) {

var r1,

r2,

m;

prueba {

r1 = arg1.toString ().split(".")[1].length

} catch(e) {

r1 = 0

}

prueba {

r2 = arg2.toString().split(".")[1].length

} catch(e) {

r2 = 0

}

m = Math.pow(10, Math.max(r1, r2))

retorno (arg1 * m arg2 * m ) / m

}

//Agregue un método de adición al tipo de Número para que sea más conveniente llamar.

Número.prototipo.add = función(arg) {

return accAdd(arg, this);

}

// Nota: El resultado de la suma de JavaScript tendrá errores, que serán más obvios al sumar dos números de punto flotante. Esta función devuelve un resultado de suma más preciso.

//Llamada: accAdd(arg1, arg2)

//Valor de retorno: el resultado exacto de arg1 más arg2

función accAdd(arg1, arg2) {

var r1,

r2,

m;

prueba {

r1 = arg1.toString ().split(".")[1].length

} catch(e) {

r1 = 0

}

prueba {

r2 = arg2.toString().split(".")[1].length

} catch(e) {

r2 = 0

}

m = Math.pow(10, Math.max(r1, r2))

retorno (arg1 * m arg2 * m ) / m

}

//Agregue un método add al tipo Número para que sea más conveniente llamar.

Número.prototype.add = function(arg) {

return accAdd(arg, this);

}

Resta

Código Js

[código]

// Explicación: El resultado de la resta de JavaScript tendrá errores, que serán más obvios al sumar dos números de punto flotante. Esta función devuelve un resultado de resta más preciso.

//Llamada: accSub(arg1, arg2)

//Valor de retorno: el resultado exacto de arg1 menos arg2

función accSub(arg1, arg2) {

return accAdd(arg1, -arg2);

}

//Agregue un submétodo al tipo Número para que sea más conveniente llamar.

Número.prototipo.sub = función(arg) {

return accSub(this, arg);

}

// Nota: El resultado de la resta de JavaScript tendrá errores, que serán más obvios al sumar dos números de punto flotante. Esta función devuelve un resultado de resta más preciso.

//Llamada: accSub(arg1, arg2)

//Valor de retorno: el resultado exacto de arg1 menos arg2

función accSub(arg1, arg2) {

return accAdd(arg1, -arg2);

}