2012-04-23 111 views
1

如何串公式轉換爲數字在JavaScript?如何將字符串公式轉換爲javascript中的數字?

說我有「100 * 100」或「100×100」我怎麼評價這一點,轉換爲數字?

+3

這是功課?你試過什麼了? – JohnFx 2012-04-23 18:48:10

+2

這不是功課,我試圖批量直接在用戶輸入轉換成longforms從速記。我試過eval()和parseInt和parseFloat。 – 2012-04-23 18:49:16

回答

5

這將字符串是否使用*x給你的產品:

var str = "100x100"; 

var tmp_arr = str.split(/[*x]/); 
var product = tmp_arr[0]*tmp_arr[1]; // 10000 
+1

這正是我在尋找的感謝。 – 2012-04-23 19:03:11

+0

http://jsfiddle.net/jlaceda/hcDra/例如在一個功能測試。 – jlaceda 2012-04-23 19:12:08

+0

@Event_Horizo​​n不客氣:) – Paulpro 2012-04-23 20:01:48

4

如果你確定字符串總是像「100 * 100」那樣你可以eval()它,儘管大多數人會告訴你這不是一個好主意,因爲人們可以通過惡意代碼被評估。

eval("100*100"); 
>> 10000 

否則,您將不得不查找或編寫自定義公式分析器。在這種情況下,你可能想看看Shunting-yard algorithm,並在parsing閱讀起來。


使用split()

var myEquation = "100*100"; 
var num = myEquation.split("*")[0] * myEquation.split("*")[1]; 
>> 10000 
+0

有沒有辦法通過x和數字分裂了,繁衍只是數字?爲此將分裂工作? – 2012-04-23 18:52:35

+0

是的,我會更新。 – 2012-04-23 18:53:14

0

使用parseInt函數(),該parseInt函數()函數解析一個字符串並返回一個整數。

 parseInt("100")*parseInt("100") //10000 
相關問題