技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營(yíng)
卡卡网是专业的网站测速平台,网速测试,测试网站速度,就来卡卡网 ~
问题反馈网络日志

DiyVM:香港VPS驚爆價(jià)36元一月
★站長(zhǎng)/主播變現(xiàn)★有流量就來(lái)
5M CN2 GIA云主機(jī) 24元起
一一一云主機(jī) 26元起一一一
官方高價(jià)收量,每日穩(wěn)定結(jié)算

一一云主機(jī) 24元 3折起一一
海外CN2云 低至$2.5/月
海外云低至2折 298/年
免費(fèi)測(cè)試★APK免殺 谷歌過(guò)保護(hù)
官方收量CPA/CPS長(zhǎng)期穩(wěn)定

海外主機(jī) 5M CN2 低至$2/月
恒創(chuàng)科技 一 海外服務(wù)器 ● 高速穩(wěn)定
★解決安裝報(bào)毒★谷歌過(guò)保護(hù)機(jī)制
超級(jí)簽★免殺★加固★滿(mǎn)意付款
全球云主機(jī) 3天試用再買(mǎi)

【菠蘿云】香港4G內(nèi)存99元,馬上開(kāi)通
億人互聯(lián)-津/京BGP托管租用/VPS
蘋(píng)果簽名/APP封裝/遠(yuǎn)控免殺
10M CN2海外云VPS 53元/月
CN2 GIA/1000Mbps $111/月

實(shí)力產(chǎn)品變現(xiàn)
實(shí)力產(chǎn)品變現(xiàn)
實(shí)力產(chǎn)品變現(xiàn)
實(shí)力產(chǎn)品變現(xiàn)
實(shí)力產(chǎn)品變現(xiàn)

贊助商

分類(lèi)目錄

贊助商

最新文章

Windows 2012 不默认安装 .NET 3.5,需要此环境的人要手动添加...
在本文中,我将介绍如何在 .NET 中美化 JSON 字符串。
asp.net 的 @OutputCache 是以声明方式控制 ASP.NET ...
在本教程中,您将了解 System.IO,它是一个 C# 命名空间。此命名空间提...
在本文中,我将介绍C#如何清理JSON字符串里的HTML标签,同时把双引号变为单...
== 运算符和 Equals() 方法都用于比较两个值类型数据项或引用类型数据项...
为了比较变量之间的相等性,C# 提供了两种比较方法“==&rdquo...

搜索

[示例]C# single.tryParse將數(shù)字字符串轉(zhuǎn)換為浮點(diǎn)數(shù)

作者:admin    時(shí)間:2022-5-27 10:0:11    瀏覽:

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

示例

在詳細(xì)介紹 single.tryParse 方法之前,我們先來(lái)看看該方法的一個(gè)示例。

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

  1. string value;
  2. float number;
  3.  
  4. // Parse a floating-point value with a thousands separator.
  5. value = "1,643.57";
  6. if (Single.TryParse(value, out number))
  7.    Console.WriteLine(number);
  8. else
  9.    Console.WriteLine("Unable to parse '{0}'.", value);
  10.  
  11. // Parse a floating-point value with a currency symbol and a
  12. // thousands separator.
  13. value = "$1,643.57";
  14. if (Single.TryParse(value, out number))
  15.    Console.WriteLine(number);
  16. else
  17.    Console.WriteLine("Unable to parse '{0}'.", value);
  18.  
  19. // Parse value in exponential notation.
  20. value = "-1.643e6";
  21. if (Single.TryParse(value, out number))
  22.    Console.WriteLine(number);
  23. else
  24.    Console.WriteLine("Unable to parse '{0}'.", value);
  25.  
  26. // Parse a negative integer value.
  27. value = "-168934617882109132";
  28. if (Single.TryParse(value, out number))
  29.    Console.WriteLine(number);
  30. else
  31.    Console.WriteLine("Unable to parse '{0}'.", value);
  32. // The example displays the following output:
  33. // 1643.57
  34. // Unable to parse '$1,643.57'.
  35. // -164300
  36. // -1.689346E+17

評(píng)論

該示例中,使用 single.tryParse 方法轉(zhuǎn)換了多種形式的小數(shù)字符串。下面詳細(xì)介紹該方法。

x

single.tryParse 方法

描述

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

語(yǔ)法

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

參數(shù)

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

返回

布爾值:true,如果s轉(zhuǎn)換成功;否則,false。

使用說(shuō)明

在 .NET Core 3.0 及更高版本中,太大而無(wú)法表示的值會(huì)按照 IEEE 754 規(guī)范的要求四舍五入為PositiveInfinityNegativeInfinity 。在包括 .NET Framework 在內(nèi)的早期版本中,解析太大而無(wú)法表示的值會(huì)導(dǎo)致失敗。

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

s參數(shù)可以包含PositiveInfinitySymbol、NegativeInfinitySymbol、NaNSymbol(字符串比較區(qū)分大小寫(xiě))或以下形式的字符串:

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

方括號(hào)中的元素是可選的。下表描述了每個(gè)元素。

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

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

使用為當(dāng)前系統(tǒng)區(qū)域性初始化的NumberFormatInfo對(duì)象中的格式信息解析s參數(shù)。有關(guān)詳細(xì)信息,請(qǐng)參閱NumberFormatInfo.CurrentInfo。要使用某些其他指定區(qū)域性的格式信息解析字符串,請(qǐng)使用TryParse(String, NumberStyles, IFormatProvider, Single)方法重載。

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

如果在解析操作過(guò)程中在s參數(shù)中遇到分隔符,并且適用的貨幣或數(shù)字小數(shù)和組分隔符相同,則解析操作假定分隔符是小數(shù)分隔符而不是組分隔符。有關(guān)分隔符的詳細(xì)信息,請(qǐng)參閱CurrencyDecimalSeparatorNumberDecimalSeparator、CurrencyGroupSeparatorNumberGroupSeparator

總結(jié)

本文通過(guò)具體示例,詳細(xì)介紹了C# single.tryParse將數(shù)字字符串轉(zhuǎn)換為浮點(diǎn)數(shù)的方法,通過(guò)該文的學(xué)習(xí),我們應(yīng)了解使用single.tryParse轉(zhuǎn)換字符串時(shí)的一些規(guī)則,這在實(shí)際編程中相當(dāng)重要,因?yàn)槭褂檬欠竦卯?dāng)關(guān)系到你是否能得到預(yù)期的結(jié)果。

參考文章

x
廣告: CN2云主機(jī) 免費(fèi)試用