Pregunta

I need convert okString[1] value to number, there is calculation for ex. 6.2*2. I tried JQUERY API Doc`

"Or you use the String class provided by javascript, which try to parse a value as string:

String( 1 ) + String( 2 ); // "12" String( 1 + 2 ); // "3" "

My code is here: jsfiddle `

 <div id="userForm">

<input id="string_input" value="1=2,6;2=4,5;3=5;5=6.1;7=6,2*2">

<!-- end -->
</div>​


$('#string_input').click(function() {
    fnWorkMainString();


});


function fnWorkMainString() {
    fnWorkSubString();

}

function fnWorkSubString() {
    var getString = $('#string_input').val();



   var divString = getString.split(';');
    console.log('divString ' + divString.length);
    var stringAfterDiv = [];
    var okString = "";
    for (i = 0; i < divString.length; i++) {
        console.log(divString[i]);
        stringAfterDiv[i] = divString[i].split('=');
        console.log(stringAfterDiv[i]);

        okString= stringAfterDiv[i][1].replace(',','.');    
          console.log(String(okString));
    }
    console.log(String( 1 + 2 ));

    return stringAfterDiv;
}​
¿Fue útil?

Solución

You could have a go with the eval function.. This turned out to work (returned 22.2). I'm simply prepending an assignment to the calculation string (after replacing commas with dots)

var str = "2*7.1 + 4/0,5";
str = str.replace(',','.');
eval("var answer = "+str);
alert(answer);

or in a nifty function, skipping the assignment altogether

function computeString(str) {
   return eval(str.replace(',','.'));
}

Otros consejos

try

parseFloat("3",10)

OR

parseInt("3",10)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top