簡體   English   中英

空字符串加倍C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM