2011-03-14 86 views
2

有人可以幫我請一個字符串轉換嗎? 這行是例如一個字符串,我想要轉換:如何將操作數的「字符串計算行」轉換爲雙精度型?

(這是從用戶通過文本字段:) NSString * testString = @「3 + 4 * 5.2 - 6」;

我現在的方式是,但操作數改變...: double temp = number1 + number2 * number3 - number4;

結果應該是雙倍的,操作數必須被識別。這些數字根本不是問題,而是操作數。像「*」或「/」這樣的操作數不能用doubleValue轉換成double。有沒有可能這樣做從字符串?

在此先感謝! :-)

回答

3

嘗試使用NSScanner掃描此類字符串。

順便說一句'+',' - '被稱爲操作而不是操作數。在你的情況下操作數 '3', '4' 等

UPDATE

看起來像戴夫·德隆(https://stackoverflow.com/users/115730/dave-delong)已經解決了DDMathParser您的問題 - https://github.com/davedelong/DDMathParser

+0

謝謝! ......哎呀,是的,你是對的!我想「轉換」操作... – user658628 2011-03-14 11:36:03

+0

你知道也許是一個簡短的例子,如果我得到一個「雙重計算行」?儘管如此,謝謝你的方式! :-) – user658628 2011-03-14 11:48:26

+0

太棒了! :-) DDMathPath是我在找的!非常感謝!!! – user658628 2011-03-14 11:58:47

0

順便說一句,你看爲「評估」。字符串轉換是別的。

+0

好的......謝謝你的提示! – user658628 2011-03-14 11:57:03