Actualmente tengo un formulario que dibuja un círculo basado en la entrada del usuario y también muestra el diámetro en la consola. Sin embargo, cuando ingreso un número con un decimal, simplemente lo convierte en un número entero. Por ejemplo, si ingreso 5.68, toma mi entrada como 5. ¿Cómo hago para que reconozca los números decimales?
https://jsfiddle.net/Kaevonz/wsgfhjLc/215/
$(function() { $('.circle').hide(); $('#outer_diameter').on('change', function() { var $outer_diameter = parseInt($("#outer_diameter").val()); var $converted = ($outer_diameter * 10); console.log($outer_diameter, $converted); /*const $circalc = (2 * Math.PI * ($outer_diameter / 2)).toPrecision(6);*/ $('.circle').css({ height: (2 * $converted), width: (2 * $converted), top: "calc(50% - " + ($converted) + "px)", left: "calc(50% - " + ($converted) + "px)" }); $('.circle').fadeIn(300); $('#error').hide(); }) $('.circle2').hide(); $('#inner_diameter').on('change', function() { var $inner_diameter = parseInt($("#inner_diameter").val()); var $converted_2 = ($inner_diameter * 10); console.log($inner_diameter, $converted_2); $('.circle2').css({ height: (2 * $converted_2), width: (2 * $converted_2), top: "calc(50% - " + ($converted_2) + "px)", left: "calc(50% - " + ($converted_2) + "px)" }); $('.circle2').fadeIn(300); }) });Use parseFloat() en lugar de parseInt() . Esto mantendrá las fracciones.
Cuando muestre el resultado más tarde, use toFixed(3) para especificar el número de dígitos que se mostrarán.
$(function() { $('.circle').hide(); $('#outer_diameter').on('change', function() { var $outer_diameter = parseFloat($("#outer_diameter").val()); var $converted = ($outer_diameter * 10); console.log($outer_diameter.toFixed(3), $converted.toFixed(3)); /*const $circalc = (2 * Math.PI * ($outer_diameter / 2)).toPrecision(6);*/ $('.circle').css({ height: (2 * $converted), width: (2 * $converted), top: "calc(50% - " + ($converted) + "px)", left: "calc(50% - " + ($converted) + "px)" }); $('.circle').fadeIn(300); $('#error').hide(); }) $('.circle2').hide(); $('#inner_diameter').on('change', function() { var $inner_diameter = parseFloat($("#inner_diameter").val()); var $converted_2 = ($inner_diameter * 10); console.log($inner_diameter.toFixed(3), $converted_2.toFixed(3)); $('.circle2').css({ height: (2 * $converted_2), width: (2 * $converted_2), top: "calc(50% - " + ($converted_2) + "px)", left: "calc(50% - " + ($converted_2) + "px)" }); $('.circle2').fadeIn(300); }) });