将字符串(计算)转换为数字

时间:2012-10-09 16:39:37

标签: jquery string parsefloat

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

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

String(1)+ String(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;
}​

2 个答案:

答案 0 :(得分:0)

尝试

parseFloat("3",10)

OR

parseInt("3",10)

答案 1 :(得分: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(',','.'));
}