¿Cómo podemos convertir una variable de cadena de JavaScript a decimal?convertir una variable de cadena de JavaScript a decimal/dinero
¿Hay una función como
parseInt(document.getElementById(amtid4).innerHTML)
¿Cómo podemos convertir una variable de cadena de JavaScript a decimal?convertir una variable de cadena de JavaScript a decimal/dinero
¿Hay una función como
parseInt(document.getElementById(amtid4).innerHTML)
Sí - parseFloat
.
parseFloat(document.getElementById(amtid4).innerHTML);
Para formatear números, utilice toFixed
:
var num = parseFloat(document.getElementById(amtid4).innerHTML).toFixed(2);
num
es ahora una cadena con el número formateado con dos cifras decimales.
También puede utilizar el Number
constructor/función (sin necesidad de una raíz y utilizable tanto para los números enteros y flotadores):
Number('09'); /=> 9
Number('09.0987'); /=> 9.0987
+1, 'Number' - o' + '- es lo que yo haría . –
esto funciona:
var num = parseFloat(document.getElementById(amtid4).innerHTML, 10).toFixed(2);
Una forma parte corta fácil sería usar + x Mantiene el signo intacto, así como los números decimales. La otra alternativa es usar parseFloat (x). Diferencia entre parseFloat (x) y + x es para una cadena en blanco + x devuelve 0 donde como parseFloat (x) devuelve NaN.
var formatter = new Intl.NumberFormat("ru", {
style: "currency",
currency: "GBP"
});
alert(formatter.format(1234.5)); // 1 234,5 £
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat
Es bastante arriesgado dejar que el javascript funciones para comparar y jugar con los números. En javascript (0.1 + 0.2 == 0.3) se devolverá falso debido a errores de redondeo. Use la biblioteca math.js.
hice un poco de función auxiliar para hacer esto y coger todos los datos malformados
function convertToPounds(str) {
var n = Number.parseFloat(str);
if(!str || isNaN(n) || n < 0) return 0;
return n.toFixed(2);
}
demo es here
podemos hacer que esa variable con 2 puntos decimales como 120.50? ahora mismo estoy recibiendo 120.5. – Varada
@Varada Ver edición. – lonesomeday
Para citar @PhilipWhitehouse "Por favor, para cualquiera que lea esto en el futuro, no use float para almacenar moneda. Perderá precisión y datos. Debe almacenarlo como un número entero de centavos (o centavos, etc.) y luego convertir antes de la salida ". Fuente: http://stackoverflow.com/questions/149055/how-can-i-format-numbers-as-money-in-javascript –