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 に答える