[英]Empty String to Double C#
此刻我正試圖從文本框中獲取雙倍值,如下所示:
String.IsNullOrEmpty(textBox1.Text) ? 0.0 : Double.Parse(textBox1.Text)
但是有一個問題,我無法解決如何解析空文本框?
例如,如果使用OleDb和Excel使用空文本框嘗試此代碼,我們將收到錯誤
System.FormatException:輸入字符串的格式不正確。
double val;
if(!double.TryParse(textBox.Text,out val))
val = 0.0
你嘗試過Double.TryParse(String, NumberStyles, IFormatProvider, Double%)
嗎?
這可以幫助解決各種數字格式的問題。
double result;
Double.TryParse("",out result);
如果TryParse為true,則結果將具有double值。如果條件,則可以使用
result = Double.TryParse("",out result) ? result : 0.00
如果Double.TryParse
無法解析字符串,則返回false並將out參數設置為0。
double d;
if(double.TryParse(textBox1.Text, out d)
{
// valid number
}
else
{
// not a valid number and d = 0;
}
要么
double d;
double.TryParse(textBox1.Text, out d)
// do something with d.
另請注意,您可以在同一if語句中的其他邏輯中使用out參數:
double d;
if(double.TryParse(textBox1.Text, out d) && d > 500 && d < 1000)
{
// valid number and the number is between 501 and 9999
}
你為什么不使用不拋出異常的Double.TryParse?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.