tengo el siguiente código. Me gustaría tenerlo de modo que si price_result sea igual a un número entero, digamos 10, entonces me gustaría agregar dos lugares decimales. Entonces 10 sería 10.00. O si es igual a 10.6 sería 10.60. No estoy seguro de cómo hacer esto.
price_result = parseFloat(test_var.split('$')[1].slice(0,-1));
javascript
floating-point
usuario357034
fuente
fuente
var twoPlacedFloat = + parseFloat(yourString).toFixed(2)
para convertir en flotadorCuando lo usa
toFixed
, siempre devuelve el valor como una cadena. Esto a veces complica el código. Para evitar eso, puede hacer un método alternativo para Number.y use:
o simplemente:
fuente
0.1 + 0.2 // 0.30000000000000004
entonces necesito corrección para eso(0.1+0.2).round() // 0.3
Si necesita rendimiento (como en los juegos):
Es aproximadamente 100 veces más rápido que parseFloat (number.toFixed (2))
http://jsperf.com/parsefloat-tofixed-vs-math-round
fuente
number * 1
Me estoy perdiendo algo, tal vezPara devolver un número, agregue otra capa de paréntesis. Lo mantiene limpio
fuente
var twoPlacedFloat = parseFloat(('2.00').toFixed(2))
genera errorSi su objetivo es analizar, y su entrada puede ser literal, entonces esperaría un
float
ytoFixed
no proporcionará eso, así que aquí hay dos funciones simples para proporcionar esto:fuente
parseFloat(parseFloat('10.5').toFixed(2))
volver10.5
esperado10.50
. TambiénparseFloat(parseFloat('10.50').toFixed(2))
regreso10.5
techo de lodash es probablemente el mejor
funcionará también con un número y es seguro
fuente
@sd Respuesta corta: No hay forma en JS de tener un valor de tipo de datos de Número con ceros finales después de un decimal.
Respuesta larga: es propiedad
toFixed
otoPrecision
función de JavaScript, para devolver la cadena. La razón de esto es que el tipo de datos Number no puede tener un valor como a = 2.00, siempre eliminará los ceros finales después del decimal. Esta es la propiedad incorporada de Number Datatype. Entonces, para lograr lo anterior en JS, tenemos 2 opcionesfuente
Utilice la siguiente función si no desea redondear.
fuente
Por lo que vale: un número decimal, es un número decimal, o lo redondea a otro valor o no. Internamente, se aproximará a una fracción decimal de acuerdo con la regla de la artética y el manejo de coma flotante. Permanece un número decimal (coma flotante, en JS un doble) internamente, sin importar cuántos dígitos desee mostrar.
Para presentarlo para su visualización, puede elegir la precisión de la visualización según lo que desee mediante la conversión de cadenas. La presentación es un problema de visualización, no una cuestión de almacenamiento.
fuente
Puede usar .toFixed () para el valor flotante de 2 dígitos
Exampale
fuente
Pruebe esto (vea los comentarios en el código):
fuente
JavaScript simple, cadena para flotar:
fuente
La solución que funciona para mí es la siguiente
fuente
Inicialice FormArray form Builder
Crear formulario
Establecer valores de formulario en el controlador de formulario
fuente
Tengo otra solución.
Puedes usar
round()
para hacer eso en su lugartoFixed()
fuente
parseFloat()
que he actualizado la respuesta por @zsalzbankround()
en números en js. La verdadera pregunta es quién votó esto.