[爆卦]c# string轉double是什麼?優點缺點精華區懶人包

為什麼這篇c# string轉double鄉民發文收入到精華區:因為在c# string轉double這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者driftseed (阿輝)看板java標題[問題] 字串轉運算時間Sat Nov 20 14:...


當使用者在文字欄輸入

5*6+1

如何把它變成一個運算得到答案


問題二

有辦法再多一個變數x之類的嘛

對話框一:輸入x的值x= 5

對話框二:x*6+1

然後得到正確答案??

--

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.170.131.46
james732:板規4.1 11/20 14:03

補充一些資料

使用軟體:Ejs http://goo.gl/ehZ05

定義兩個變數

double z = 5;
string T ="16*z+11*8"; //(想做成使用者輸入)


做法
先搜尋出+ - * / 這些特殊字串 及 未知變數 z 的位置

利用這些位置去分斷這些字串

變成:

str[n] = ("16","*","z","+","11","*","8");

迴圈判斷未知數z
for (i=0;i<n;i++){

if(str[i]=="z") str[i] = z;

}

迴圈判斷*/

for (i=0;i<n;i++){

if(str[i]=="*") str[i] = str[i-1]*str[i+1]; //須移除掉str[i-1] str[i+1]
if(str[i]=="/") str[i] = str[i-1]/str[i+1];
}

再做個迴圈按照順序+-


這樣一來感覺十分龐大

還要考慮()、sin、^等等

但是如果在程式內部直接寫

double z = 5;
double y = 6*z+11*8;

馬上有答案

所以才想問看看能不能把字串直接轉成運算


也查過了

double :
Double.parseDouble(String s) : 將 s 轉換成 double

float :
Double.parseFloat(String s) : 將 s 轉換成 float

int :
Integer.parseInt(String s) : 將 s 轉換成 int

long :
Long.parseLong(String s) : 將 s 轉換成 long

但上面s的形態大概只能

s = "123";
s = "1.23";

這樣子
※ 編輯: driftseed 來自: 1.170.131.46 (11/20 16:24)
ogamenewbie:1. char, stack, while, switch 11/20 15:56
ogamenewbie:2. 可以 11/20 15:56
ogamenewbie:感謝樓上 james732 幫忙, 不過再沒有求程式碼的情況.. 11/20 15:59
ogamenewbie:我覺得是還可以不用引用 4.1 11/20 15:59
driftseed:ogame版主 所以只能跑迴圈 慢慢處理這問題嗎 11/20 16:31
ogamenewbie:如果你覺得這很龐大的話, 建議你可以去找一下JDK的 11/20 17:53
ogamenewbie:source來看一下裡面是怎麼處理那些讓你平常可以很方便 11/20 17:53
ogamenewbie:就迅速使用的方法. 11/20 17:54
ogamenewbie:而且這種基礎的問題,其實是訓練你的拆解分析問題的能 11/20 17:56
ogamenewbie:力 (先不論實作部分), 如果你覺得這種程度的問題已經 11/20 17:57
ogamenewbie:很複雜, 那你可能要多拿一些問題來訓練自己的思考 11/20 17:57
ogamenewbie:此外, 覺得現有的方法很難用, 也有可能是嶄新方法的開 11/20 17:58
ogamenewbie:端... 11/20 17:59
TonyQ:這其實是一個expression,所以你需要有grammer/parser 11/21 00:13
yukang:放大絕...XD call javascript 的 eval 來產結果XD 11/22 13:43
THANHS~

因為這是自己平常閒來沒事亂做來玩的,所以最後我改用javascript做了...

http://www.mediafire.com/?c4h9h2l44ivv2j5

*.html檔

功能:解方程式

但又產生問題了...javascript在小數運算不是很好...

只能產生近似解~

(我沒有想問javascript的事,只是報告一下進度)

luoqr:我怎麼想到什麼preorder,postorder的東西... 11/22 15:06
※ 編輯: driftseed 來自: 1.170.128.11 (11/25 13:02)

你可能也想看看

搜尋相關網站