0

我需要将okString[1]值转换为数字,前有计算。6.2*2。 我试过JQUERY API Doc`

“或者您使用 javascript 提供的 String 类,它尝试将值解析为字符串:

字符串(1)+字符串(2);// "12" 字符串(1 + 2); // "3" "

我的代码在这里: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;
}​
4

2 回答 2

0

尝试

parseFloat("3",10)

OR

parseInt("3",10)
于 2012-10-09T16:40:49.850 回答
0

你可以试试 eval 函数。结果证明这是有效的(返回 22.2)。我只是在计算字符串前面加上一个赋值(在用点替换逗号之后)

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

或者在一个漂亮的函数中,完全跳过分配

function computeString(str) {
   return eval(str.replace(',','.'));
}
于 2012-10-09T17:26:17.193 回答