Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

139
Vistas
Mi problema de cálculo financiero de JavaScript

Estamos trabajando en los cálculos financieros. El código front-end de JavaScript da resultados diferentes y el back-end de C# da resultados diferentes. Por favor, dame una solución para obtener el mismo resultado en ambos idiomas.

Menciono dos Casos en mi ejemplo. El primer caso no funciona y el otro funciona.

Quiero resultados como el código C#, esos son mis resultados esperados.

 decimal TotalItemWiseRate = Convert.ToDecimal((Convert.ToDecimal(txtQuantity.Text) * Convert.ToDecimal(txtRate.Text)).ToString("0.00")); 

 myFunction(); function myFunction() {} function setDecimalPoint(num) { var setNumber = parseFloat(num); if (isNaN(setNumber) || setNumber == 0) { return setNumber; } else { var dotcontain = (setNumber).toString().includes("."); if (dotcontain == true) { var a = (setNumber).toString().indexOf("."); setNumber = (setNumber).toString().substring(0, a + 4); return (roundNumber(setNumber, 2)); } else { return (roundNumber(setNumber, 2)); } } } document.getElementById("Case1").innerHTML = "Javascript result: " + 756.05 * 43.5; document.getElementById("Case11").innerHTML = "Current function: " + setDecimalPoint(756.05 * 43.5); document.getElementById("Case111").innerHTML = "Calculater result: " + 32888.175; document.getElementById("Case1111").innerHTML = "C#/My Expected Result: " + 32888.18; document.getElementById("Case2").innerHTML = "Javascript result: " + 6864.48 / 100; document.getElementById("Case22").innerHTML = "Current function: " + setDecimalPoint(6864.48 / 100); document.getElementById("Case222").innerHTML = "Calculater result: " + 68.6448; document.getElementById("Case2222").innerHTML = "C#/My Expected Result: " + 68.64; function roundNumber(num, scale) { if (!("" + num).includes("e")) { return +(Math.round(num + "e+" + scale) + "e-" + scale); } else { var arr = ("" + num).split("e"); var sig = "" if (+arr[1] + scale > 0) { sig = "+"; } return +(Math.round(+arr[0] + "e" + sig + (+arr[1] + scale)) + "e-" + scale); } }
 <p id="Case1"></p> <p id="Case11"></p> <p id="Case111"></p> <p id="Case1111"></p> <p id="Case2"></p> <p id="Case22"></p> <p id="Case222"></p> <p id="Case2222"></p>

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esta única función es la respuesta más simple que encontré.

 function setDecimalPoint(num) { if (isNaN(parseFloat(num))) return 0; else { var Number = parseFloat(num); var multiplicator = Math.pow(10, 2); Number = parseFloat((Number * multiplicator).toFixed(2)); return (Math.round(Number) / multiplicator); } }
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda