function FinalAmount() { var FinalPrice = document.getElementById("FinalPrice"); let AllProductTotalPrice = 0; for (let index = 0; index < OrderedProductList.length; ++index) { alert; var CurrentProductTotal = 0; CurrentProductTotal = OrderedProductList[index].TotalPrice; console.log(CurrentProductTotal); AllProductTotalPrice += CurrentProductTotal; console.log(AllProductTotalPrice); } FinalAllProductPrice = AllProductTotalPrice; FinalPrice.innerText = "RM" + FinalAllProductPrice; }Este es mi código javascript. Tendría una pregunta sobre por qué console.log (CurrentProductTotal) ya es un número entero, pero AllProductTotalPrice anterior es un valor de cadena. ¿Hay alguna forma de dejar que su suma sea un número entero y llevarlo al FinalAllProductPrice a continuación? Por favor ayúdame TT
Creo que la forma más fácil sería
use Number() para analizar una cadena a un número. (no definimos enteros específicamente en javascript)
const num = "1234" Number(num) ⚠️ Si le da una cadena que no consiste únicamente en números, devolverá NaN
Entonces, en tu ejemplo, eso sería:
CurrentProductTotal = OrderedProductList[index].TotalPriceAhora a tus preguntas:
console.log() automáticamente lo muestra formateado para usted. Usaría el operador typeof para verificar si CurrentProductTotal es realmente un número o una cadena que la consola formatea de manera diferente, lo que es un poco confuso.Prueba esto en la consola de tu navegador:
const num = "1234" > undefined num > '1234' console.log(num) > 1234 // formatted like a number console.log(num, typeof num) > 1234 string // still formatted like a number, but a string in reality