convert string (calculation )to number
-
06-07-2021 - |
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;
}
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