Soy un entrenador corporativo para un minorista, no un desarrollador, pero necesito descubrir algo de codificación para terminar un proyecto. ¡Gracias por cualquier ayuda!
Trabajando en un proyecto para calcular los precios de venta de la cerveza que se calcula en costo, margen de beneficio, depósito y descuentos. La información se envía a nivel de tienda a través de un formulario web, esos datos se completan automáticamente en un formulario pdf y luego ese formulario se envía al comprador. Este javascript se está escribiendo en ese archivo pdf.
El problema es que necesito redondear el precio de venta final usando reglas específicas para que coincida con nuestra estructura de precios. Aquí están las reglas:
Asi que:
Estoy perdido y confundido en este punto, ya estoy fuera de mi alcance. Aquí es donde he llegado hasta ahora:
var flsellround = this.getField("FLSellCalc").value; var lasttwo = flsellround.slice(0, -2);... y no sé a dónde ir desde allí, o incluso si usar .slice es el siguiente paso correcto. El campo que contiene el número que debe redondearse es "FLSellCalc".
Esperemos que todo tenga sentido. ¿Alguien capaz y dispuesto a ayudarme aquí? ¡Seguro que lo agradecería!
Aquí hay una función y una página interactiva para probarla:
function specialRound(n) { if (n < 0) return -specialRound(-n); let decimals = n % 1; return n - decimals + ( decimals < 0.2 ? -0.01 : decimals < 0.7 ? 1.09 : 0.99); } let output = document.getElementById("output") let flsellinput = document.getElementById("FLSellCalc"); flsellinput.addEventListener("input", refresh); function refresh() { let n = +flsellinput.value; output.textContent = specialRound(n); } refresh(); <input id="FLSellCalc" type="number" value="5.19" step="0.01"> <div id="output"></div>