¿Cómo convertir una string de moneda en un valor doble con jQuery o Javascript?

Hay dos formas populares de convertir una string de moneda en una string flotante utilizando diferentes bibliotecas incorporadas de JavaScript.

Método 1: este es un enfoque simple en el que uniremos los caracteres uno por uno desde el inicio usando el ciclo y si algún carácter resulta ser de tipo entero o numérico, usaremos el método substring() para sacar la substring del original. cuerda. Después de sacar la substring, usaremos el método parseFloat() para convertir esa string en valor flotante o doble.
Para verificar si el carácter es de tipo numérico o no, usamos el método charCodeAt() para obtener el valor Unicode del carácter especificado.

    Sintaxis:

  • string.substring(Startindex, Endindex)

    El string.substring() es una función incorporada en JavaScript que se usa para devolver la parte de la string dada desde el índice inicial hasta el índice final. La indexación comienza desde cero (0).

  • parseFloat(value)

    ParseFloat() es una función incorporada en JavaScript que se utiliza para aceptar la string y convertirla en un número de coma flotante. Si la string no contiene un valor numérico o si el primer carácter de la string no es un número, devuelve NaN, es decir, no es un número. En realidad, devuelve un número de coma flotante analizado hasta ese punto en el que encuentra un carácter que no es un número.

  • str.charCodeAt(index)

    La función str.charCodeAt() devuelve una unidad de código de conjunto de caracteres Unicode del carácter presente en el índice de la string especificada como argumento.

  • Ejemplo 1:

    <script>
        // JavaScript script to convert
        // string currency to double
          
        // Function to convert
        function convert(currency){
        var k, temp;
        // Loop to make substring
        for(var i = 0; i < currency.length; i++){
              
            // Getting Unicode value
            k = currency.charCodeAt(i);
              
            // Checking whether the character
            // is of numeric type or not
            if(k > 47 && k < 58){
                  
                // Making substring
                temp = currency.substring(i);
                break;
            }
        }
          
        // If currency is in format like
        // 458, 656.75 then we used replace
        // method to replace every ', ' with ''
        temp = temp.replace(/, /, '');
          
        // Converting string to float
        // or double and return
        return parseFloat(temp);
          
              
        }
          
        // Driver code
          
        // Currency in string
        var string_currency = "$450.45";
        document.write("Currency value: " + string_currency +"</br>");
        // Converting currency
        var doubleValue = convert(string_currency);
          
        // Display currency 
        document.write("Double value: " +doubleValue + "</br>");
          
          
        // Currency in string
        string_currency = "$45, 645.45";
        document.write("Currency value: " + string_currency +"</br>");
        // Converting currency
        doubleValue = convert(string_currency);
          
        // Display currency 
        document.write("Double value: " + doubleValue + "</br>");
          
    </script>                                                     

    Producción:

Currency value: $450.45
Double value: 450.45
Currency value: $45, 645.45
Double value: 45645.45

Método 2: En este método, usaremos el método replace() de JavaScript para reemplazar todos los caracteres que no sean números y decimales (.) con espacios en blanco («») . Después de eso, podemos usar el método parseFloat() para hacer que la string flote o se duplique. Este método es más eficiente que el método 1.

    sintaxis:

  • str.replace(A, B)

    El string.replace() es una función incorporada en JavaScript que se usa para reemplazar una parte de la string dada con otra string o una expresión regular. La string original permanecerá sin cambios.

  • parseFloat(value)

    ParseFloat() es una función incorporada en JavaScript que se utiliza para aceptar la string y convertirla en un número de coma flotante. Si la string no contiene un valor numérico o si el primer carácter de la string no es un número, devuelve NaN, es decir, no es un número. En realidad, devuelve un número de coma flotante analizado hasta ese punto en el que encuentra un carácter que no es un número.

Ejemplo 2:

          
<script>
    // JavaScript script to convert
    // string currency to double
      
    // Function to convert
    function convert(currency){
      
    // Using replace() method
    // to make currency string suitable 
    // for parseFloat() to convert 
    var temp = currency.replace(/[^0-9.-]+/g,"");
      
    // Converting string to float
    // or double and return
    return parseFloat(temp);
      
    }
      
    // Driver code
      
    // Currency in string
    var string_currency = "$6542.45";
    document.write("Currency value: " + string_currency +"</br>");
    // Converting currency
    var doubleValue = convert(string_currency);
    // Display currency 
    document.write("Converted to double: " + doubleValue +"</br>");
      
      
    // Currency in string
    string_currency = "$357,545.45";
    document.write("Currency value: " + string_currency +"</br>");
    // Converting currency
    doubleValue = convert(string_currency);
    // Display currency 
    document.write("Converted to double: " + doubleValue +"</br>");
      
</script>                                      

Producción:

Currency value: $6542.45
Converted to double: 6542.45
Currency value: $357,545.45
Converted to double: 357545.45

Publicación traducida automáticamente

Artículo escrito por Rajnis09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *