我需要将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;
}
答案 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(',','.'));
}