欧美性猛交xxx嘿人猛交_又色又爽又高潮免费观看_精品国产一区二区三区久久影院_青娱乐极品视觉盛宴国产视频

技術頻道導航
HTML/CSS
.NET技術
IIS技術
PHP技術
Js/JQuery
Photoshop
Fireworks
服務器技術
操作系統
網站運營

贊助商

分類目錄

贊助商

最新文章

搜索

[示例]C# single.tryParse將數字字符串轉換為浮點數

作者:admin    時間:2022-5-27 10:0:11    瀏覽:

前面曾介紹過C# TryParse怎樣轉換小數、16進制、千分位數字等字符串,不過那是用的int.tryParse方法,并且轉換小數字符串時會受到諸多條件限制,其實如果要把數字字符串轉換成小數,可以用single.tryParse方法來處理,更加簡單。本文將詳細介紹如何使用single.tryParse將數字的字符串表示形式轉換為其等效的單精度浮點數。

示例

在詳細介紹 single.tryParse 方法之前,我們先來看看該方法的一個示例。

以下示例使用TryParse(String, Single)方法將數值的字符串表示形式轉換為Single值。它假定 en-US 是當前的文化。

string value;
float number;

// Parse a floating-point value with a thousands separator.
value = "1,643.57";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);

// Parse a floating-point value with a currency symbol and a
// thousands separator.
value = "$1,643.57";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);

// Parse value in exponential notation.
value = "-1.643e6";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);

// Parse a negative integer value.
value = "-168934617882109132";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);
// The example displays the following output:
// 1643.57
// Unable to parse '$1,643.57'.
// -164300
// -1.689346E+17

評論

該示例中,使用 single.tryParse 方法轉換了多種形式的小數字符串。下面詳細介紹該方法。

single.tryParse 方法

描述

將數字的字符串表示形式轉換為其等效的單精度浮點數。返回值指示轉換是成功還是失敗。

語法

public static bool TryParse (string? s, out float result);

參數

  • s String:要轉換的數字的字符串。
  • result Single:當此方法返回時,如果轉換成功,則包含與s中包含的數字等效的單精度浮點數,如果轉換失敗,則返回零。如果s參數為nullEmpty、格式不正確或表示小于MinValue或大于MaxValue的數字,則轉換失敗。此參數未初始化傳遞;最初提供的任何值result都將被覆蓋。

返回

布爾值:true,如果s轉換成功;否則,false

使用說明

在 .NET Core 3.0 及更高版本中,太大而無法表示的值會按照 IEEE 754 規范的要求四舍五入為PositiveInfinityNegativeInfinity 。在包括 .NET Framework 在內的早期版本中,解析太大而無法表示的值會導致失敗。

此重載與Single.Parse(String)方法的不同之處在于返回一個布爾值,該值指示解析操作是否成功,而不是返回解析后的數值。它消除了在s無效且無法成功解析的事件中使用異常處理來測試FormatException的需要。

s參數可以包含PositiveInfinitySymbolNegativeInfinitySymbolNaNSymbol(字符串比較區分大小寫)或以下形式的字符串:

[ws][sign][integral-digits,]integral-digits[.[fractional-digits]][e[sign]exponential-digits][ws]

方括號中的元素是可選的。下表描述了每個元素。

元素 描述
ws 一系列空白字符。
sign 負號或正號符號。
integral-digits 一系列從 0 到 9 的數字字符,用于指定數字的整數部分。如果有小數位,則可以不存在整數位。
, 特定于區域性的組分隔符。
. 特定于文化的小數點符號。
fractional-digits 一系列從 0 到 9 的數字字符,用于指定數字的小數部分。
E 大寫或小寫字符“e”,表示指數(科學)表示法。
exponential-digits 一系列從 0 到 9 的數字字符,用于指定指數。

s參數使用NumberStyles.FloatNumberStyles.AllowThousands標志的組合進行解釋。這意味著允許使用空格和千位分隔符,但不允許使用貨幣符號。要顯式定義可以出現在s中的元素(例如貨幣符號、千位分隔符和空格),請使用TryParse(String, NumberStyles, IFormatProvider, Single)方法重載。

使用為當前系統區域性初始化的NumberFormatInfo對象中的格式信息解析s參數。有關詳細信息,請參閱NumberFormatInfo.CurrentInfo。要使用某些其他指定區域性的格式信息解析字符串,請使用TryParse(String, NumberStyles, IFormatProvider, Single)方法重載。

如果s超出Single數據類型的范圍,則該方法在 .NET Framework 和 .NET Core 2.2 及更早版本上返回false。在 .NET Core 3.0 及更高版本上,如果s小于Single.MinValue則返回Single.NegativeInfinity ,如果s大于Single.MaxValue則返回Single.PositiveInfinity

如果在解析操作過程中在s參數中遇到分隔符,并且適用的貨幣或數字小數和組分隔符相同,則解析操作假定分隔符是小數分隔符而不是組分隔符。有關分隔符的詳細信息,請參閱CurrencyDecimalSeparatorNumberDecimalSeparatorCurrencyGroupSeparatorNumberGroupSeparator

總結

本文通過具體示例,詳細介紹了C# single.tryParse將數字字符串轉換為浮點數的方法,通過該文的學習,我們應了解使用single.tryParse轉換字符串時的一些規則,這在實際編程中相當重要,因為使用是否得當關系到你是否能得到預期的結果。

參考文章

x