我目前正在編寫一個計算器應用程序。這個應用程序的一部分是一個簡單的計算器,就像Windows中的計算器(使用Windows 8)一樣工作。它可以解析在文本框中輸入的數字。但是,如果用戶沒有輸入正確的格式,例如5 * * 5,則會發生錯誤。我希望它能檢查之前輸入的字符,看看它是否是一個操作符,如果是,則將其替換爲5 */5,以便在用戶輸入時變爲5/5。還需要檢查括號是否正確,例如()或()不是)(。另外需要檢查的是輸入的數字只有一個小數點,例如4.38585 + 5.32948 。我已經將關鍵條目限制爲只有數字和運營商。我已經檢查過一段時間了,但還沒有看到任何解決方案。C#計算器文本輸入驗證
-2
A
回答
1
如果您要允許用戶輸入表達式,然後讓他按一個「計算」按鈕,那麼你不應該在飛行中驗證事情,讓用戶犯錯誤,因爲他會反正,用戶會想回去編輯他輸入的文本,你的編輯規則會使這個困難或者更糟,不一致
例如,假設用戶輸入4.35*7.29
。
然後他意識到他想分化。但是您的編輯規則不會讓他刪除*
,因爲這會導致無效號碼。而且他不能首先輸入/
然後刪除,因爲這樣做會給/*
或*/
,這兩者都是無效的。你打算在編輯時允許臨時無效表達式,但在用戶輸入時不允許它?這會不一致,並且不會阻止您的評估者再次執行錯誤檢查並通知用戶。
如果您願意,可限制對數字和運算符的擊鍵,但不要嘗試驗證用戶輸入內容的形式。讓他輸入**)9(//如果他願意,在解析時處理錯誤 - 在用戶按下計算按鈕之後
現在,如果您的應用程序像Windows Calculator一樣工作,這是一個不同的問題,但是你說的只是令人沮喪,我當然不想使用它
相關問題
- 1. Python計算器 - 輸入驗證
- 2. 驗證輸入計算器應用
- 3. 驗證基本計算器程序中的輸入
- 4. C#計算程序 - 輸入文本框
- 5. 敲除計算和輸入驗證
- 6. 的Javascript文本輸入計算器
- 7. 輸入文本框驗證
- 8. 文本輸入驗證4.0
- 9. 文本輸入驗證
- 10. 文本框輸入驗證
- 11. 驗證文本框輸入
- 12. C++輸入驗證
- 13. 驗證輸入C
- 14. 對象計算驗證C#
- 15. 無限輸入的C++計算器
- 16. 驗證在C輸入
- 17. C++輸入驗證(時間)
- 18. C++ 11 cin輸入驗證
- 19. C fscanf輸入驗證
- 20. 驗證用戶輸入C#
- 21. 驗證輸入的DateTime C#
- 22. 驗證輸入程序C++
- 23. C++模板輸入驗證
- 24. 使用C輸入驗證
- 25. 驗證輸入多個文本框
- 26. 驗證輸入文本軌道
- 27. 輸入文本驗證何時爲空
- 28. jQuery的空文本輸入驗證
- 29. 輸入文本驗證錯誤 - JSP
- 30. 使用angularJS驗證輸入文本
給我們展示一些代碼 – Thousand
顯示一些你的代碼 – 2013-07-21 11:34:32
看起來你有點懶惰,因爲要求我們做你的工作,你知道你需要什麼,只是問我們......如果你會爲操作設置一個字符,並在你得到新的時候改變它操作字符然後你可以處理5 */5字符串 –