Aracılığıyla paylaş


BigInteger.Parse Yöntem

Tanım

Bir sayının dize gösterimini eşdeğerine BigInteger dönüştürür.

Aşırı Yüklemeler

Name Description
Parse(String, NumberStyles, IFormatProvider)

Belirtilen stilde ve kültüre özgü biçimdeki bir sayının dize gösterimini eşdeğerine BigInteger dönüştürür.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Belirtilen karakter salt okunur aralığında bulunan bir sayının gösterimini, belirtilen stilde eşdeğerine BigInteger dönüştürür.

Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)
Parse(String, IFormatProvider)

Belirli bir kültüre özgü biçimdeki bir sayının dize gösterimini eşdeğerine BigInteger dönüştürür.

Parse(ReadOnlySpan<Byte>, IFormatProvider)
Parse(ReadOnlySpan<Char>, IFormatProvider)

Bir karakter aralığını bir değere ayrıştırıyor.

Parse(String, NumberStyles)

Belirtilen stildeki bir sayının dize gösterimini eşdeğerine BigInteger dönüştürür.

Parse(String)

Bir sayının dize gösterimini eşdeğerine BigInteger dönüştürür.

Parse(String, NumberStyles, IFormatProvider)

Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs

Belirtilen stilde ve kültüre özgü biçimdeki bir sayının dize gösterimini eşdeğerine BigInteger dönüştürür.

public:
 static System::Numerics::BigInteger Parse(System::String ^ value, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public:
 static System::Numerics::BigInteger Parse(System::String ^ value, System::Globalization::NumberStyles style, IFormatProvider ^ provider) = System::Numerics::INumberBase<System::Numerics::BigInteger>::Parse;
public static System.Numerics.BigInteger Parse(string value, System.Globalization.NumberStyles style, IFormatProvider provider);
public static System.Numerics.BigInteger Parse(string value, System.Globalization.NumberStyles style, IFormatProvider? provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> System.Numerics.BigInteger
Public Shared Function Parse (value As String, style As NumberStyles, provider As IFormatProvider) As BigInteger

Parametreler

value
String

Dönüştürülecek bir sayı içeren dize.

style
NumberStyles

İzin verilen biçimini belirten sabit listesi değerlerinin bit düzeyinde birleşimi value.

provider
IFormatProvider

hakkında valuekültüre özgü biçimlendirme bilgileri sağlayan bir nesne.

Döndürülenler

parametresinde value belirtilen sayıya eşdeğer bir değer.

Uygulamalar

Özel durumlar

style bir NumberStyles değer değildir.

-veya-

styleveya HexNumber bayrağını AllowHexSpecifier başka bir değerle birlikte içerir.

value, null'e eşittir.

value tarafından stylebelirtilen giriş deseniyle uyumlu değildir.

Örnekler

Aşağıdaki örnek, ve provider parametreleri için Parse(String, NumberStyles, IFormatProvider) çeşitli değer bileşimlerini kullanarak yöntemine style birkaç çağrı yapar.

// Call parse with default values of style and provider
Console.WriteLine(BigInteger.Parse("  -300   ",
                  NumberStyles.Integer, CultureInfo.CurrentCulture));
// Call parse with default values of style and provider supporting tilde as negative sign
Console.WriteLine(BigInteger.Parse("   ~300  ",
                                   NumberStyles.Integer, new BigIntegerFormatProvider()));
// Call parse with only AllowLeadingWhite and AllowTrailingWhite
// Exception thrown because of presence of negative sign
try
{
   Console.WriteLine(BigInteger.Parse("    ~300   ",
                                NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite,
                                new BigIntegerFormatProvider()));
}
catch (FormatException e)
{
   Console.WriteLine("{0}: \n   {1}", e.GetType().Name, e.Message);
}
// Call parse with only AllowHexSpecifier
// Exception thrown because of presence of negative sign
try
{
   Console.WriteLine(BigInteger.Parse("-3af", NumberStyles.AllowHexSpecifier,
                                      new BigIntegerFormatProvider()));
}
catch (FormatException e)
{
   Console.WriteLine("{0}: \n   {1}", e.GetType().Name, e.Message);
}
// Call parse with only NumberStyles.None
// Exception thrown because of presence of white space and sign
try
{
   Console.WriteLine(BigInteger.Parse(" -300 ", NumberStyles.None,
                                      new BigIntegerFormatProvider()));
}
catch (FormatException e)
{
   Console.WriteLine("{0}: \n   {1}", e.GetType().Name, e.Message);
}
// The example displays the followingoutput:
//       -300
//       -300
//       FormatException:
//          The value could not be parsed.
//       FormatException:
//          The value could not be parsed.
//       FormatException:
//          The value could not be parsed.
    // Call parse with default values of style and provider
    printfn $"""{BigInteger.Parse("  -300   ", NumberStyles.Integer, CultureInfo.CurrentCulture)}"""

    // Call parse with default values of style and provider supporting tilde as negative sign
    printfn $"""{BigInteger.Parse("   ~300  ", NumberStyles.Integer, new BigIntegerFormatProvider())}"""

    // Call parse with only AllowLeadingWhite and AllowTrailingWhite
    // Exception thrown because of presence of negative sign
    try
        printfn
            $"""{BigInteger.Parse(
                     "    ~300   ",
                     NumberStyles.AllowLeadingWhite ||| NumberStyles.AllowTrailingWhite,
                     new BigIntegerFormatProvider()
                 )}"""
    with :? FormatException as e ->
        printfn $"{e.GetType().Name}: \n   {e.Message}"

    // Call parse with only AllowHexSpecifier
    // Exception thrown because of presence of negative sign
    try
        printfn $"""{BigInteger.Parse("-3af", NumberStyles.AllowHexSpecifier, new BigIntegerFormatProvider())}"""
    with :? FormatException as e ->
        printfn $"{e.GetType().Name}: \n   {e.Message}"

    // Call parse with only NumberStyles.None
    // Exception thrown because of presence of white space and sign
    try
        printfn $"""{BigInteger.Parse(" -300 ", NumberStyles.None, new BigIntegerFormatProvider())}"""
    with :? FormatException as e ->
        printfn $"{e.GetType().Name}: \n   {e.Message}"
// The example displays the followingoutput:
//       -300
//       -300
//       FormatException:
//          The value could not be parsed.
//       FormatException:
//          The value could not be parsed.
//       FormatException:
//          The value could not be parsed.
' Call parse with default values of style and provider
Console.WriteLine(BigInteger.Parse("  -300   ", _
                  NumberStyles.Integer, CultureInfo.CurrentCulture))
' Call parse with default values of style and provider supporting tilde as negative sign
Console.WriteLine(BigInteger.Parse("   ~300  ", _
                                   NumberStyles.Integer, New BigIntegerFormatProvider()))
' Call parse with only AllowLeadingWhite and AllowTrailingWhite
' Exception thrown because of presence of negative sign
Try
   Console.WriteLIne(BigInteger.Parse("    ~300   ", _
                                      NumberStyles.AllowLeadingWhite Or NumberStyles.AllowTrailingWhite, _
                                      New BigIntegerFormatProvider()))
Catch e As FormatException
   Console.WriteLine("{0}: {1}   {2}", e.GetType().Name, vbCrLf, e.Message)
End Try                                   
' Call parse with only AllowHexSpecifier
' Exception thrown because of presence of negative sign
Try
   Console.WriteLIne(BigInteger.Parse("-3af", NumberStyles.AllowHexSpecifier, _
                                      New BigIntegerFormatProvider()))
Catch e As FormatException
   Console.WriteLine("{0}: {1}   {2}", e.GetType().Name, vbCrLf, e.Message)
End Try                                 
' Call parse with only NumberStyles.None
' Exception thrown because of presence of white space and sign
Try
   Console.WriteLIne(BigInteger.Parse(" -300 ", NumberStyles.None, _
                                      New BigIntegerFormatProvider()))
Catch e As FormatException
   Console.WriteLine("{0}: {1}   {2}", e.GetType().Name, vbCrLf, e.Message)
End Try
' The example displays the following output:
'       -300
'       -300
'       FormatException:
'          The value could not be parsed.
'       FormatException:
'          The value could not be parsed.
'       FormatException:
'          The value could not be parsed.

Yöntemine Parse(String, NumberStyles, IFormatProvider) yapılan tek tek çağrıların bir sayısı, negatif işareti olarak bir tilde (~) tanımlayan aşağıdaki BigIntegerFormatProvider sınıfın bir örneğini geçirir.

public class BigIntegerFormatProvider : IFormatProvider
{
   public object GetFormat(Type formatType)
   {
      if (formatType == typeof(NumberFormatInfo))
      {
         NumberFormatInfo numberFormat = new NumberFormatInfo();
         numberFormat.NegativeSign = "~";
         return numberFormat;
      }
      else
      {
         return null;
      }
   }
}
type BigIntegerFormatProvider() =
    interface IFormatProvider with

        member _.GetFormat(formatType: Type) =
            if formatType = typeof<NumberFormatInfo> then
                let numberFormat = NumberFormatInfo()
                numberFormat.NegativeSign <- "~"
                numberFormat
            else
                null
Public Class BigIntegerFormatProvider : Implements IFormatProvider
   Public Function GetFormat(formatType As Type) As Object _
                            Implements IFormatProvider.GetFormat
      If formatType Is GetType(NumberFormatInfo) Then
         Dim numberFormat As New NumberFormatInfo
         numberFormat.NegativeSign = "~"
         Return numberFormat
      Else
         Return Nothing
      End If      
   End Function
End Class

Açıklamalar

style parametresi, ayrıştırma işleminin başarılı olması için parametrede value izin verilen stil öğelerini (boşluk, pozitif veya negatif işaret simgesi, grup ayırıcı simgesi veya ondalık ayırıcı simgesi gibi) tanımlar. styles sabit listesindeki bit bayraklarının NumberStyles birleşimi olmalıdır. style parametresi, tarafından temsil value edilen sayı sistemi (ondalık veya onaltılık) yalnızca çalışma zamanında bilindiğinde veya içinde boşluk veya işaret simgesine izin vermek istemediğinizde, onaltılık değerin dize gösterimini içerdiğinde valuebu yöntem aşırı yüklemesini kullanışlı value hale getirir.

değerine stylevalue bağlı olarak parametresi aşağıdaki öğeleri içerebilir:

[ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws]

içeriyorsa styleNumberStyles.AllowHexSpecifiervalue, parametresi aşağıdaki öğeleri içerebilir:

[ws]hexdigits[ws]

Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır. Aşağıdaki tablo her öğeyi açıklar.

Öğe Description
Ws İsteğe bağlı boşluk. Bayrağı içeriyorsa başında boşluk görünebilir valuestyle ve bayrağın dahil olup olmadığının valuestyleNumberStyles.AllowTrailingWhite sonunda görüntülenebilir.NumberStyles.AllowLeadingWhite
$ Kültüre özgü para birimi simgesi. Dizedeki konumu, parametresi tarafından NumberFormatInfo.CurrencyNegativePattern belirtilen kültürün ve NumberFormatInfo.CurrencyPositivePattern özellikleri tarafından provider tanımlanır. Bayrağı içeriyorsa geçerli kültürün NumberStyles.AllowCurrencySymbol para birimi simgesi içinde valuestyle görüntülenebilir.
işaret İsteğe bağlı bir işaret. bayrağını içeriyorsaNumberStyles.AllowLeadingSign, işaretinin stylevalue başında ve bayrağın dahil NumberStyles.AllowTrailingSign olup olmadığının valuestyle sonunda görüntülenebilir. Parantezler, bayrağı içeriyorsa NumberStyles.AllowParentheses negatif bir değeri style belirtmek için içinde kullanılabilirvalue.
Basamak

fractional_digits

exponential_digits
0 ile 9 arasında bir basamak dizisi. fractional_digits için yalnızca 0 rakamı geçerlidir.
, Kültüre özgü grup ayırıcı simgesi. bayrağını içeriyorsaNumberStyles.AllowThousands, tarafından provider belirtilen kültürün grup ayırıcı simgesi içinde valuestyle görüntülenebilir.
. Kültüre özgü ondalık nokta simgesi. tarafından belirlenen provider kültürün ondalık noktası simgesi, bayrağı içeriyorsa NumberStyles.AllowDecimalPoint içinde valuestyle görünebilir. Ayrıştırma işleminin başarılı olması için yalnızca 0 rakamı kesirli basamak olarak görünebilir; fractional_digits başka bir basamak içeriyorsa, bir FormatException oluşturulur.
E Değerin üstel (bilimsel) gösterimde temsil olduğunu gösteren "e" veya "E" karakteri. parametresi, value bayrağını içeriyorsa üstel gösterimde style bir sayıyı NumberStyles.AllowExponent temsil edebilir.
hexdigits 0'dan f'ye veya 0'dan F'ye kadar onaltılık basamak dizisi.

Uyarı

içindeki s sonlandırıcı NUL (U+0000) karakterleri, bağımsız değişkenin değerinden style bağımsız olarak ayrıştırma işlemi tarafından yoksayılır.

Yalnızca basamak içeren bir dize (stile NumberStyles.None karşılık gelir) her zaman başarıyla ayrıştırılıyor. Geri kalan NumberStyles üyelerin çoğu, giriş dizesinde mevcut olabilecek ancak mevcut olması gerekmeyen öğeleri denetler. Aşağıdaki tablo, tek tek NumberStyles üyelerin içinde valuebulunabilecek öğeleri nasıl etkilediğini gösterir.

NumberStyles değeri Basamaklara ek olarak değerde izin verilen öğeler
None Yalnızca rakamlar öğesi.
AllowDecimalPoint Ondalık nokta (.) ve kesirli basamak öğeleri.
AllowExponent Üstel gösterimi gösteren "e" veya "E" karakteri. exponential_digits ile birlikte.
AllowLeadingWhite başındaki valuews öğesi.
AllowTrailingWhite sonundaki valuews öğesi.
AllowLeadingSign başındaki valuesign öğesi.
AllowTrailingSign sonundaki valuesign öğesi.
AllowParentheses Sayısal değeri kapsayan parantez biçimindeki sign öğesi.
AllowThousands Grup ayırıcı (,) öğesi.
AllowCurrencySymbol Para birimi ($) öğesi.
Currency Tüm öğeler. Ancak, value üstel gösterimde onaltılık bir sayıyı veya sayıyı temsil edemez.
Float başında veya sonundaki valuews öğesi, öğesinin valuebaşında ve ondalık nokta (.) simgesiyle işaret eder. parametresi üstel value gösterim de kullanabilir.
Number ws, sign, grup ayırıcısı (,) ve ondalık ayırıcı (.) öğeleri.
Any Tüm öğeler. Ancak, value onaltılık bir sayıyı temsil edemez.

Önemli

yöntemi tarafından ToString çıktısı alınan bir BigInteger değerin dize gösterimine gidiş dönüş yapmak için yöntemini kullanırsanızParse, değerin BigInteger.ToString(String) dize gösterimini BigInteger oluşturmak için "R" biçim tanımlayıcısı ile yöntemini kullanmanız gerekir. Aksi takdirde, dize gösterimi özgün değerin BigInteger yalnızca en önemli 50 basamağını korur ve değeri geri yüklemek BigInteger için yöntemini kullandığınızda Parse veriler kaybolabilir.

içinde belirli stil öğelerinin NumberStyles.AllowHexSpecifiervaluebulunmasına izin veren ancak gerektirmeyen diğer NumberStyles değerlerden farklı olarak, stil değeri içindeki tek tek sayısal karakterlerin value her zaman onaltılık karakterler olarak yorumlandığı anlamına gelir. Geçerli onaltılık karakterler 0-9, A-F ve a-f şeklindedir. parametresiyle style birleştirilebilen diğer bayraklar yalnızca ve NumberStyles.AllowTrailingWhite'tirNumberStyles.AllowLeadingWhite. (Numaralandırma, NumberStylesHexNumberher iki boşluk bayrağını da içeren bileşik bir sayı stili içerir.)

Uyarı

Onaltılık bir sayının dize gösterimi isevalue, bundan önce onu onaltılık sayı olarak ayıran herhangi bir süsleme (veya &hgibi0x) olamaz. Bu, dönüştürmenin başarısız olmasına neden olur.

Onaltılık bir dizeysevalue, yöntemi, ilk iki onaltılık basamak değerinden Parse(String, NumberStyles) büyük veya buna eşitse0x80, ikinin tamamlayıcı gösterimini kullanarak depolanmış negatif bir sayı olarak yorumlarvalue. Başka bir deyişle yöntemi, içindeki ilk baytın value en yüksek sıralı bitini işaret biti olarak yorumlar. Onaltılık bir dizenin doğru bir pozitif sayı olarak yorumlandığından emin olmak için içindeki ilk basamak value sıfır değerine sahip olmalıdır. Örneğin, yöntem negatif bir değer olarak yorumlar 0x80 , ancak ya da 0x0800x0080 pozitif bir değer olarak yorumlar. Aşağıdaki örnekte, negatif ve pozitif değerleri temsil eden onaltılık dizeler arasındaki fark gösterilmektedir.

using System;
using System.Globalization;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      string[] hexStrings = { "80", "E293", "F9A2FF", "FFFFFFFF",
                              "080", "0E293", "0F9A2FF", "0FFFFFFFF",
                              "0080", "00E293", "00F9A2FF", "00FFFFFFFF" };
      foreach (string hexString in hexStrings)
      {
         BigInteger number = BigInteger.Parse(hexString, NumberStyles.AllowHexSpecifier);
         Console.WriteLine("Converted 0x{0} to {1}.", hexString, number);
      }
   }
}
// The example displays the following output:
//       Converted 0x80 to -128.
//       Converted 0xE293 to -7533.
//       Converted 0xF9A2FF to -417025.
//       Converted 0xFFFFFFFF to -1.
//       Converted 0x080 to 128.
//       Converted 0x0E293 to 58003.
//       Converted 0x0F9A2FF to 16360191.
//       Converted 0x0FFFFFFFF to 4294967295.
//       Converted 0x0080 to 128.
//       Converted 0x00E293 to 58003.
//       Converted 0x00F9A2FF to 16360191.
//       Converted 0x00FFFFFFFF to 4294967295.
open System.Globalization
open System.Numerics

let hexStrings =
    [| "80"
       "E293"
       "F9A2FF"
       "FFFFFFFF"
       "080"
       "0E293"
       "0F9A2FF"
       "0FFFFFFFF"
       "0080"
       "00E293"
       "00F9A2FF"
       "00FFFFFFFF" |]

for hexString in hexStrings do
    let number = BigInteger.Parse(hexString, NumberStyles.AllowHexSpecifier)
    printfn $"Converted 0x{hexString} to {number:N0}."
// The example displays the following output:
//       Converted 0x80 to -128.
//       Converted 0xE293 to -7533.
//       Converted 0xF9A2FF to -417025.
//       Converted 0xFFFFFFFF to -1.
//       Converted 0x080 to 128.
//       Converted 0x0E293 to 58003.
//       Converted 0x0F9A2FF to 16360191.
//       Converted 0x0FFFFFFFF to 4294967295.
//       Converted 0x0080 to 128.
//       Converted 0x00E293 to 58003.
//       Converted 0x00F9A2FF to 16360191.
//       Converted 0x00FFFFFFFF to 4294967295.
Imports System.Globalization
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim hexStrings() As String = { "80", "E293", "F9A2FF", "FFFFFFFF", 
                                     "080", "0E293", "0F9A2FF", "0FFFFFFFF",  
                                     "0080", "00E293", "00F9A2FF", "00FFFFFFFF" }
      For Each hexString As String In hexStrings
         Dim number As BigInteger = BigInteger.Parse(hexString, NumberStyles.AllowHexSpecifier)
         Console.WriteLine("Converted 0x{0} to {1}.", hexString, number)
      Next         
   End Sub
End Module
' The example displays the following output:
'       Converted 0x80 to -128.
'       Converted 0xE293 to -7533.
'       Converted 0xF9A2FF to -417025.
'       Converted 0xFFFFFFFF to -1.
'       Converted 0x080 to 128.
'       Converted 0x0E293 to 58003.
'       Converted 0x0F9A2FF to 16360191.
'       Converted 0x0FFFFFFFF to 4294967295.
'       Converted 0x0080 to 128.
'       Converted 0x00E293 to 58003.
'       Converted 0x00F9A2FF to 16360191.
'       Converted 0x00FFFFFFFF to 4294967295.

provider parametresi bir IFormatProvider uygulamadır. GetFormat yöntemi, biçimi valuehakkında kültüre özgü bilgiler sağlayan bir NumberFormatInfo nesnesi döndürür. Genellikle aşağıdakilerden provider herhangi biri olabilir:

ise providernull, NumberFormatInfo geçerli kültürün nesnesi kullanılır.

Ayrıca bkz.

Şunlara uygulanır

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs

Belirtilen karakter salt okunur aralığında bulunan bir sayının gösterimini, belirtilen stilde eşdeğerine BigInteger dönüştürür.

public static System.Numerics.BigInteger Parse(ReadOnlySpan<char> value, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
public static System.Numerics.BigInteger Parse(ReadOnlySpan<char> value, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = default);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> System.Numerics.BigInteger
Public Shared Function Parse (value As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As BigInteger

Parametreler

value
ReadOnlySpan<Char>

Dönüştürülecek sayıyı içeren karakterlerin salt okunur yayılma alanı.

style
NumberStyles

İzin verilen biçimini belirten sabit listesi değerlerinin bit düzeyinde birleşimi value.

provider
IFormatProvider

hakkında valuekültüre özgü biçimlendirme bilgileri sağlayan bir nesne.

Döndürülenler

parametresinde value belirtilen sayıya eşdeğer bir değer.

Uygulamalar

Özel durumlar

style bir NumberStyles değer değildir.

-veya-

styleveya HexNumber bayrağını AllowHexSpecifier başka bir değerle birlikte içerir.

value, null'e eşittir.

value tarafından stylebelirtilen giriş deseniyle uyumlu değildir.

Açıklamalar

style parametresi, ayrıştırma işleminin başarılı olması için parametrede value izin verilen stil öğelerini (boşluk, pozitif veya negatif işaret simgesi, grup ayırıcı simgesi veya ondalık ayırıcı simgesi gibi) tanımlar. styles sabit listesindeki bit bayraklarının NumberStyles birleşimi olmalıdır. style parametresi, tarafından temsil value edilen sayı sistemi (ondalık veya onaltılık) yalnızca çalışma zamanında bilindiğinde veya içinde boşluk veya işaret simgesine izin vermek istemediğinizde onaltılık değerin gösterimini içerdiğinde valuebu yöntem aşırı yüklemesini kullanışlı value hale getirir.

değerine stylevalue bağlı olarak parametresi aşağıdaki öğeleri içerebilir:

[ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws]

içeriyorsa styleNumberStyles.AllowHexSpecifiervalue, parametresi aşağıdaki öğeleri içerebilir:

[ws]hexdigits[ws]

Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır. Aşağıdaki tablo her öğeyi açıklar.

Öğe Description
Ws İsteğe bağlı boşluk. Bayrağı içeriyorsa başında boşluk görünebilir valuestyle ve bayrağın dahil olup olmadığının valuestyleNumberStyles.AllowTrailingWhite sonunda görüntülenebilir.NumberStyles.AllowLeadingWhite
$ Kültüre özgü para birimi simgesi. içindeki value konumu, parametresi tarafından NumberFormatInfo.CurrencyNegativePattern belirtilen kültürün ve NumberFormatInfo.CurrencyPositivePattern özellikleri tarafından provider tanımlanır. Bayrağı içeriyorsa geçerli kültürün NumberStyles.AllowCurrencySymbol para birimi simgesi içinde valuestyle görüntülenebilir.
işaret İsteğe bağlı bir işaret. bayrağını içeriyorsaNumberStyles.AllowLeadingSign, işaretinin stylevalue başında ve bayrağın dahil NumberStyles.AllowTrailingSign olup olmadığının valuestyle sonunda görüntülenebilir. Parantezler, bayrağı içeriyorsa NumberStyles.AllowParentheses negatif bir değeri style belirtmek için içinde kullanılabilirvalue.
Basamak

fractional_digits

exponential_digits
0 ile 9 arasında bir basamak dizisi. fractional_digits için yalnızca 0 rakamı geçerlidir.
, Kültüre özgü grup ayırıcı simgesi. bayrağını içeriyorsaNumberStyles.AllowThousands, tarafından provider belirtilen kültürün grup ayırıcı simgesi içinde valuestyle görüntülenebilir.
. Kültüre özgü ondalık nokta simgesi. tarafından belirlenen provider kültürün ondalık noktası simgesi, bayrağı içeriyorsa NumberStyles.AllowDecimalPoint içinde valuestyle görünebilir. Ayrıştırma işleminin başarılı olması için yalnızca 0 rakamı kesirli basamak olarak görünebilir; fractional_digits başka bir basamak içeriyorsa, bir FormatException oluşturulur.
E Değerin üstel (bilimsel) gösterimde temsil olduğunu gösteren "e" veya "E" karakteri. parametresi, value bayrağını içeriyorsa üstel gösterimde style bir sayıyı NumberStyles.AllowExponent temsil edebilir.
hexdigits 0'dan f'ye veya 0'dan F'ye kadar onaltılık basamak dizisi.

Uyarı

içindeki s sonlandırıcı NUL (U+0000) karakterleri, bağımsız değişkenin değerinden style bağımsız olarak ayrıştırma işlemi tarafından yoksayılır.

value Yalnızca basamak içeren bir (stile NumberStyles.None karşılık gelen) her zaman başarıyla ayrıştırılıyor. Kalan NumberStyles üyelerin çoğu, içinde mevcut olabilecek ancak mevcut valueolması gerekmeyen öğeleri denetler. Aşağıdaki tablo, tek tek NumberStyles üyelerin içinde valuebulunabilecek öğeleri nasıl etkilediğini gösterir.

NumberStyles değeri Basamaklara ek olarak değerde izin verilen öğeler
None Yalnızca rakamlar öğesi.
AllowDecimalPoint Ondalık nokta (.) ve kesirli basamak öğeleri.
AllowExponent Üstel gösterimi gösteren "e" veya "E" karakteri. exponential_digits ile birlikte.
AllowLeadingWhite başındaki valuews öğesi.
AllowTrailingWhite sonundaki valuews öğesi.
AllowLeadingSign başındaki valuesign öğesi.
AllowTrailingSign sonundaki valuesign öğesi.
AllowParentheses Sayısal değeri kapsayan parantez biçimindeki sign öğesi.
AllowThousands Grup ayırıcı (,) öğesi.
AllowCurrencySymbol Para birimi ($) öğesi.
Currency Tüm öğeler. Ancak, value üstel gösterimde onaltılık bir sayıyı veya sayıyı temsil edemez.
Float başında veya sonundaki valuews öğesi, öğesinin valuebaşında ve ondalık nokta (.) simgesiyle işaret eder. parametresi üstel value gösterim de kullanabilir.
Number ws, sign, grup ayırıcısı (,) ve ondalık ayırıcı (.) öğeleri.
Any Tüm öğeler. Ancak, value onaltılık bir sayıyı temsil edemez.

içinde belirli stil öğelerinin NumberStyles.AllowHexSpecifiervaluebulunmasına izin veren ancak gerektirmeyen diğer NumberStyles değerlerden farklı olarak, stil değeri içindeki tek tek sayısal karakterlerin value her zaman onaltılık karakterler olarak yorumlandığı anlamına gelir. Geçerli onaltılık karakterler 0-9, A-F ve a-f şeklindedir. parametresiyle style birleştirilebilen diğer bayraklar yalnızca ve NumberStyles.AllowTrailingWhite'tirNumberStyles.AllowLeadingWhite. (Numaralandırma, NumberStylesHexNumberher iki boşluk bayrağını da içeren bileşik bir sayı stili içerir.)

provider parametresi bir IFormatProvider uygulamadır. GetFormat yöntemi, biçimi valuehakkında kültüre özgü bilgiler sağlayan bir NumberFormatInfo nesnesi döndürür. Genellikle aşağıdakilerden provider herhangi biri olabilir:

ise providernull, NumberFormatInfo geçerli kültürün nesnesi kullanılır.

Ayrıca bkz.

Şunlara uygulanır

Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)

public static System.Numerics.BigInteger Parse(ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
static member Parse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider -> System.Numerics.BigInteger
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As BigInteger

Parametreler

utf8Text
ReadOnlySpan<Byte>
style
NumberStyles
provider
IFormatProvider

Döndürülenler

Uygulamalar

Şunlara uygulanır

Parse(String, IFormatProvider)

Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs

Belirli bir kültüre özgü biçimdeki bir sayının dize gösterimini eşdeğerine BigInteger dönüştürür.

public:
 static System::Numerics::BigInteger Parse(System::String ^ value, IFormatProvider ^ provider);
public:
 static System::Numerics::BigInteger Parse(System::String ^ value, IFormatProvider ^ provider) = IParsable<System::Numerics::BigInteger>::Parse;
public static System.Numerics.BigInteger Parse(string value, IFormatProvider provider);
public static System.Numerics.BigInteger Parse(string value, IFormatProvider? provider);
static member Parse : string * IFormatProvider -> System.Numerics.BigInteger
Public Shared Function Parse (value As String, provider As IFormatProvider) As BigInteger

Parametreler

value
String

Dönüştürülecek bir sayı içeren dize.

provider
IFormatProvider

hakkında valuekültüre özgü biçimlendirme bilgileri sağlayan bir nesne.

Döndürülenler

parametresinde value belirtilen sayıya eşdeğer bir değer.

Uygulamalar

Özel durumlar

value, null'e eşittir.

value doğru biçimde değil.

Örnekler

Aşağıdaki örneklerde, tilde değerini (~) biçimlendirme BigInteger değerleri için negatif bir işaret olarak tanımlamanın iki yolu gösterilmektedir. Değerleri özgün dizelerle aynı biçimde görüntülemek BigInteger için kodunuzun yöntemini çağırması BigInteger.ToString(IFormatProvider) ve biçimlendirme bilgileri sağlayan nesneyi geçirmesi NumberFormatInfo gerektiğini unutmayın.

İlk örnek, biçimlendirme bilgileri sağlayan nesneyi döndürmek NumberFormatInfo için yöntemini uygulayan IFormatProvider ve kullanan GetFormat bir sınıfı tanımlar.

public class BigIntegerFormatProvider : IFormatProvider
{
   public object GetFormat(Type formatType)
   {
      if (formatType == typeof(NumberFormatInfo))
      {
         NumberFormatInfo numberFormat = new NumberFormatInfo();
         numberFormat.NegativeSign = "~";
         return numberFormat;
      }
      else
      {
         return null;
      }
   }
}
type BigIntegerFormatProvider() =
    interface IFormatProvider with

        member _.GetFormat(formatType: Type) =
            if formatType = typeof<NumberFormatInfo> then
                let numberFormat = NumberFormatInfo()
                numberFormat.NegativeSign <- "~"
                numberFormat
            else
                null
Public Class BigIntegerFormatProvider : Implements IFormatProvider
   Public Function GetFormat(formatType As Type) As Object _
                            Implements IFormatProvider.GetFormat
      If formatType Is GetType(NumberFormatInfo) Then
         Dim numberFormat As New NumberFormatInfo
         numberFormat.NegativeSign = "~"
         Return numberFormat
      Else
         Return Nothing
      End If      
   End Function
End Class

BigInteger Daha sonra aşağıdaki kodla bir nesne örneği oluşturulabilir:

BigInteger number = BigInteger.Parse("~6354129876", new BigIntegerFormatProvider());
// Display value using same formatting information
Console.WriteLine(number.ToString(new BigIntegerFormatProvider()));
// Display value using formatting of current culture
Console.WriteLine(number);
let number = BigInteger.Parse("~6354129876", BigIntegerFormatProvider())
printfn $"{number.ToString(BigIntegerFormatProvider())}"
printfn $"{number}"
Dim number As BigInteger = BigInteger.Parse("~6354129876", New BigIntegerFormatProvider)
' Display value using same formatting information
Console.WriteLine(number.ToString(New BigIntegerFormatProvider))
' Display value using formatting of current culture
Console.WriteLine(number)

İkinci örnek daha basittir. Parametreye NumberFormatInfo biçimlendirme bilgileri provider sağlayan nesneyi geçirir.

NumberFormatInfo fmt = new NumberFormatInfo();
fmt.NegativeSign = "~";

BigInteger number = BigInteger.Parse("~6354129876", fmt);
// Display value using same formatting information
Console.WriteLine(number.ToString(fmt));
// Display value using formatting of current culture
Console.WriteLine(number);
let fmt = NumberFormatInfo()
fmt.NegativeSign <- "~"

let number = BigInteger.Parse("~6354129876", fmt)
printfn $"{number.ToString fmt}"
printfn $"{number}"
Dim fmt As New NumberFormatInfo()
fmt.NegativeSign = "~"

Dim number As BigInteger = BigInteger.Parse("~6354129876", fmt)
' Display value using same formatting information
Console.WriteLine(number.ToString(fmt))
' Display value using formatting of current culture
Console.WriteLine(number)

Açıklamalar

parametresi, value aşağıdaki biçimdeki bir sayının dize gösterimi olmalıdır:

[ws][sign]rakamlar[ws]

Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır. Aşağıdaki tablo her öğeyi açıklar.

Öğe Description
Ws İsteğe bağlı boşluk.
işaret İsteğe bağlı bir işaret. Geçerli işaret karakterleri, nesnenin NumberFormatInfo.NegativeSign yöntemi tarafından döndürülen nesnenin providerGetFormat ve NumberFormatInfo.PositiveSign özellikleri NumberFormatInfo tarafından belirlenir.
Basamak 0 ile 9 arasında bir basamak dizisi. Baştaki sıfırlar yoksayılır.

Uyarı

parametresi tarafından value belirtilen dize, stil kullanılarak NumberStyles.Integer yorumlanır. Hiçbir grup ayırıcısı veya ondalık ayırıcı içeremez ve ondalık bölümü olamaz.

Önemli

yöntemi tarafından ToString çıktısı alınan bir BigInteger değerin dize gösterimine gidiş dönüş yapmak için yöntemini kullanırsanızParse, değerin BigInteger.ToString(String) dize gösterimini BigInteger oluşturmak için "R" biçim tanımlayıcısı ile yöntemini kullanmanız gerekir. Aksi takdirde, dize gösterimi özgün değerin BigInteger yalnızca en önemli 50 basamağını korur ve değeri geri yüklemek BigInteger için yöntemini kullandığınızda Parse veriler kaybolabilir.

provider parametresi, yöntemi kültüre özgü biçimlendirme bilgileri sağlayan bir nesne döndüren bir IFormatProviderNumberFormatInfo uygulamadırGetFormat. Parse(String, IFormatProvider) yöntemi çağrıldığında, parametresinin providerGetFormat yöntemini çağırır ve türü temsil NumberFormatInfo eden bir Type nesne geçirir. Yöntemi GetFormat daha sonra parametresinin NumberFormatInfo biçimi value hakkında bilgi sağlayan nesneyi döndürür. Ayrıştırma işlemine provider özel biçimlendirme bilgileri sağlamak için parametresini kullanmanın üç yolu vardır:

  • Biçimlendirme bilgileri sağlayan kültürü temsil eden bir CultureInfo nesne geçirebilirsiniz. yöntemi GetFormat , bu kültür için sayısal biçimlendirme bilgileri sağlayan nesneyi döndürür NumberFormatInfo .

  • Sayısal biçimlendirme bilgileri sağlayan gerçek NumberFormatInfo nesneyi geçirebilirsiniz. (Uygulaması GetFormat yalnızca kendisini döndürür.)

  • uygulayan IFormatProviderözel bir nesne geçirebilirsiniz. Yöntemi GetFormat , biçimlendirme bilgileri sağlayan nesnesinin örneğini NumberFormatInfo oluşturur ve döndürür.

ise providernull, biçimlendirmesi value geçerli kültürün NumberFormatInfo nesnesine göre yorumlanır.

Ayrıca bkz.

Şunlara uygulanır

Parse(ReadOnlySpan<Byte>, IFormatProvider)

public:
 static System::Numerics::BigInteger Parse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider) = IUtf8SpanParsable<System::Numerics::BigInteger>::Parse;
public static System.Numerics.BigInteger Parse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider);
static member Parse : ReadOnlySpan<byte> * IFormatProvider -> System.Numerics.BigInteger
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider) As BigInteger

Parametreler

utf8Text
ReadOnlySpan<Byte>
provider
IFormatProvider

Döndürülenler

Uygulamalar

Şunlara uygulanır

Parse(ReadOnlySpan<Char>, IFormatProvider)

Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs

Bir karakter aralığını bir değere ayrıştırıyor.

public:
 static System::Numerics::BigInteger Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<System::Numerics::BigInteger>::Parse;
public static System.Numerics.BigInteger Parse(ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> System.Numerics.BigInteger
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As BigInteger

Parametreler

s
ReadOnlySpan<Char>

Ayrıştırılacak karakterlerin yayılma alanı.

provider
IFormatProvider

hakkında skültüre özgü biçimlendirme bilgileri sağlayan bir nesne.

Döndürülenler

ayrıştırma sişleminin sonucu.

Uygulamalar

Şunlara uygulanır

Parse(String, NumberStyles)

Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs

Belirtilen stildeki bir sayının dize gösterimini eşdeğerine BigInteger dönüştürür.

public:
 static System::Numerics::BigInteger Parse(System::String ^ value, System::Globalization::NumberStyles style);
public static System.Numerics.BigInteger Parse(string value, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> System.Numerics.BigInteger
Public Shared Function Parse (value As String, style As NumberStyles) As BigInteger

Parametreler

value
String

Dönüştürülecek bir sayı içeren dize.

style
NumberStyles

İzin verilen biçimini belirten sabit listesi değerlerinin bit düzeyinde birleşimi value.

Döndürülenler

parametresinde value belirtilen sayıya eşdeğer bir değer.

Özel durumlar

style bir NumberStyles değer değildir.

-veya-

styleveya HexNumber bayrağını AllowHexSpecifier başka bir değerle birlikte içerir.

value, null'e eşittir.

value tarafından NumberStylesbelirtilen giriş deseniyle uyumlu değildir.

Örnekler

Aşağıdaki örnek, parametresi için Parse(String, NumberStyles) çeşitli olası değerlerle yöntemine yapılan style çağrıları gösterir. Bir dizeyi onaltılık değer olarak yorumlamayı ve boşluklara ve işaret simgelerine izin vermemeyi gösterir.

BigInteger number;
// Method should succeed (white space and sign allowed)
number = BigInteger.Parse("   -68054   ", NumberStyles.Integer);
Console.WriteLine(number);
// Method should succeed (string interpreted as hexadecimal)
number = BigInteger.Parse("68054", NumberStyles.AllowHexSpecifier);
Console.WriteLine(number);
// Method call should fail: sign not allowed
try
{
   number = BigInteger.Parse("   -68054  ", NumberStyles.AllowLeadingWhite
                                            | NumberStyles.AllowTrailingWhite);
   Console.WriteLine(number);
}
catch (FormatException e)
{
   Console.WriteLine(e.Message);
}
// Method call should fail: white space not allowed
try
{
   number = BigInteger.Parse("   68054  ", NumberStyles.AllowLeadingSign);
   Console.WriteLine(number);
}
catch (FormatException e)
{
   Console.WriteLine(e.Message);
}
//
// The method produces the following output:
//
//     -68054
//     426068
//     Input string was not in a correct format.
//     Input string was not in a correct format.
    let number = BigInteger.Parse("   -68054   ", NumberStyles.Integer)
    printfn $"{number}"
    let number = BigInteger.Parse("68054", NumberStyles.AllowHexSpecifier)
    printfn $"{number}"

    try
        let number =
            BigInteger.Parse("   -68054  ", NumberStyles.AllowLeadingWhite ||| NumberStyles.AllowTrailingWhite)

        printfn $"{number}"
    with :? FormatException as e ->
        printfn $"{e.Message}"

    try
        let number = BigInteger.Parse("   68054  ", NumberStyles.AllowLeadingSign)
        printfn $"{number}"
    with :? FormatException as e ->
        printfn $"{e.Message}"
// The method produces the following output:
//     -68054
//     426068
//     Input string was not in a correct format.
//     Input string was not in a correct format.
Dim number As BigInteger 
' Method should succeed (white space and sign allowed)
number = BigInteger.Parse("   -68054   ", NumberStyles.Integer)
Console.WriteLine(number)
' Method should succeed (string interpreted as hexadecimal)
number = BigInteger.Parse("68054", NumberStyles.AllowHexSpecifier)
Console.WriteLine(number)
' Method call should fail: sign not allowed
Try
   number = BigInteger.Parse("   -68054  ", NumberStyles.AllowLeadingWhite _
                                            Or NumberStyles.AllowTrailingWhite)
   Console.WriteLine(number)
Catch e As FormatException
   Console.WriteLine(e.Message)
End Try                                                     
' Method call should fail: white space not allowed
Try
   number = BigInteger.Parse("   68054  ", NumberStyles.AllowLeadingSign)
   Console.WriteLine(number)
Catch e As FormatException
   Console.WriteLine(e.Message)
End Try    
'
' The method produces the following output:
'
'     -68054
'     426068
'     Input string was not in a correct format.
'     Input string was not in a correct format.

Açıklamalar

style parametresi, ayrıştırma işleminin başarılı olması için parametrede value izin verilen stil öğelerini (boşluk, pozitif veya negatif işaret simgesi, grup ayırıcı simgesi veya ondalık ayırıcı simgesi gibi) tanımlar. styles sabit listesindeki bit bayraklarının NumberStyles birleşimi olmalıdır. style parametresi, tarafından temsil value edilen sayı sistemi (ondalık veya onaltılık) yalnızca çalışma zamanında bilindiğinde veya içinde boşluk veya işaret simgesine izin vermek istemediğinizde, onaltılık değerin dize gösterimini içerdiğinde valuebu yöntem aşırı yüklemesini kullanışlı value hale getirir.

değerine stylevalue bağlı olarak parametresi aşağıdaki öğeleri içerebilir:

[ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws]

içeriyorsa styleNumberStyles.AllowHexSpecifiervalue, parametresi aşağıdaki öğeleri içerebilir:

[ws]hexdigits[ws]

Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır. Aşağıdaki tablo her öğeyi açıklar.

Öğe Description
Ws İsteğe bağlı boşluk. Bayrağı içeriyorsa başında boşluk görünebilir valuestyle ve bayrağın dahil olup olmadığının valuestyleNumberStyles.AllowTrailingWhite sonunda görüntülenebilir.NumberStyles.AllowLeadingWhite
$ Kültüre özgü para birimi simgesi. Dizedeki konumu, geçerli kültürün NumberFormatInfo.CurrencyNegativePattern ve NumberFormatInfo.CurrencyPositivePattern özellikleri tarafından tanımlanır. Bayrağı içeriyorsa geçerli kültürün NumberStyles.AllowCurrencySymbol para birimi simgesi içinde valuestyle görüntülenebilir.
işaret İsteğe bağlı bir işaret. bayrağını içeriyorsaNumberStyles.AllowLeadingSign, işaretinin stylevalue başında ve bayrağın dahil NumberStyles.AllowTrailingSign olup olmadığının valuestyle sonunda görüntülenebilir. Parantezler, bayrağı içeriyorsa NumberStyles.AllowParentheses negatif bir değeri style belirtmek için içinde kullanılabilirvalue.
Basamak

fractional_digits

exponential_digits
0 ile 9 arasında bir basamak dizisi. fractional_digits için yalnızca 0 rakamı geçerlidir.
, Kültüre özgü grup ayırıcı simgesi. Bayrağı içeriyorsa, geçerli kültürün grup ayırıcısı NumberStyles.AllowThousands içinde valuestyle görüntülenebilir.
. Kültüre özgü ondalık nokta simgesi. Bayrağı içeriyorsa geçerli kültürün NumberStyles.AllowDecimalPoint ondalık noktası simgesi içinde valuestyle görüntülenebilir. Ayrıştırma işleminin başarılı olması için yalnızca 0 rakamı kesirli basamak olarak görünebilir; fractional_digits başka bir basamak içeriyorsa, bir FormatException oluşturulur.
E Değerin üstel (bilimsel) gösterimde temsil olduğunu gösteren "e" veya "E" karakteri. parametresi, value bayrağını içeriyorsa üstel gösterimde style bir sayıyı NumberStyles.AllowExponent temsil edebilir.
hexdigits 0'dan f'ye veya 0'dan F'ye kadar onaltılık basamak dizisi.

Uyarı

içindeki s sonlandırıcı NUL (U+0000) karakterleri, bağımsız değişkenin değerinden style bağımsız olarak ayrıştırma işlemi tarafından yoksayılır.

Yalnızca basamak içeren bir dize (stile NumberStyles.None karşılık gelir) her zaman başarıyla ayrıştırılıyor. Geri kalan NumberStyles üyelerin çoğu, giriş dizesinde mevcut olabilecek ancak mevcut olması gerekmeyen öğeleri denetler. Aşağıdaki tablo, tek tek NumberStyles üyelerin içinde valuebulunabilecek öğeleri nasıl etkilediğini gösterir.

NumberStyles değer Basamaklara ek olarak izin verilen value öğeler
None Yalnızca rakamlar öğesi.
AllowDecimalPoint Ondalık nokta (.) ve kesirli basamak öğeleri.
AllowExponent Exponential_digits ile birlikte üstel gösterimi gösteren "e" veya "E" karakteri.
AllowLeadingWhite başındaki valuews öğesi.
AllowTrailingWhite sonundaki valuews öğesi.
AllowLeadingSign başındaki valuesign öğesi.
AllowTrailingSign sonundaki valuesign öğesi.
AllowParentheses Sayısal değeri kapsayan parantez biçimindeki sign öğesi.
AllowThousands Grup ayırıcı (,) öğesi.
AllowCurrencySymbol Para birimi ($) öğesi.
Currency Tüm öğeler. Ancak, value üstel gösterimde onaltılık bir sayıyı veya sayıyı temsil edemez.
Float başında veya sonundaki valuews öğesi, öğesinin valuebaşında ve ondalık nokta (.) simgesiyle işaret eder. parametresi üstel value gösterim de kullanabilir.
Number , , grup ayırıcısı (,) ve ondalık ayırıcı (.) öğeleri. signws
Any Tüm öğeler. Ancak, value onaltılık bir sayıyı temsil edemez.

Önemli

yöntemi tarafından ToString çıktısı alınan bir BigInteger değerin dize gösterimine gidiş dönüş yapmak için yöntemini kullanırsanızParse, değerin BigInteger.ToString(String) dize gösterimini BigInteger oluşturmak için "R" biçim tanımlayıcısı ile yöntemini kullanmanız gerekir. Aksi takdirde, dize gösterimi özgün değerin BigInteger yalnızca en önemli 50 basamağını korur ve değeri geri yüklemek BigInteger için yöntemini kullandığınızda Parse veriler kaybolabilir.

içinde belirli stil öğelerinin NumberStyles.AllowHexSpecifiervaluebulunmasına izin veren ancak gerektirmeyen diğer NumberStyles değerlerden farklı olarak, stil değeri içindeki tek tek sayısal karakterlerin value her zaman onaltılık karakterler olarak yorumlandığı anlamına gelir. Geçerli onaltılık karakterler 0-9, A-F ve a-f şeklindedir. parametresiyle style birleştirilebilen diğer bayraklar yalnızca ve NumberStyles.AllowTrailingWhite'tirNumberStyles.AllowLeadingWhite. (Numaralandırma, NumberStylesHexNumberher iki boşluk bayrağını da içeren bileşik bir sayı stili içerir.)

Uyarı

Onaltılık bir sayının dize gösterimi isevalue, bundan önce onu onaltılık sayı olarak ayıran herhangi bir süsleme (veya &hgibi0x) olamaz. Bu, dönüştürmenin başarısız olmasına neden olur.

Onaltılık bir dizeysevalue, yöntemi, ilk iki onaltılık basamak değerinden Parse(String, NumberStyles) büyük veya buna eşitse0x80, ikinin tamamlayıcı gösterimini kullanarak depolanmış negatif bir sayı olarak yorumlarvalue. Başka bir deyişle yöntemi, içindeki ilk baytın value en yüksek sıralı bitini işaret biti olarak yorumlar. Onaltılık bir dizenin doğru bir pozitif sayı olarak yorumlandığından emin olmak için içindeki ilk basamak value sıfır değerine sahip olmalıdır. Örneğin, yöntem negatif bir değer olarak yorumlar 0x80 , ancak ya da 0x0800x0080 pozitif bir değer olarak yorumlar. Aşağıdaki örnekte, negatif ve pozitif değerleri temsil eden onaltılık dizeler arasındaki fark gösterilmektedir.

using System;
using System.Globalization;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      string[] hexStrings = { "80", "E293", "F9A2FF", "FFFFFFFF",
                              "080", "0E293", "0F9A2FF", "0FFFFFFFF",
                              "0080", "00E293", "00F9A2FF", "00FFFFFFFF" };
      foreach (string hexString in hexStrings)
      {
         BigInteger number = BigInteger.Parse(hexString, NumberStyles.AllowHexSpecifier);
         Console.WriteLine("Converted 0x{0} to {1}.", hexString, number);
      }
   }
}
// The example displays the following output:
//       Converted 0x80 to -128.
//       Converted 0xE293 to -7533.
//       Converted 0xF9A2FF to -417025.
//       Converted 0xFFFFFFFF to -1.
//       Converted 0x080 to 128.
//       Converted 0x0E293 to 58003.
//       Converted 0x0F9A2FF to 16360191.
//       Converted 0x0FFFFFFFF to 4294967295.
//       Converted 0x0080 to 128.
//       Converted 0x00E293 to 58003.
//       Converted 0x00F9A2FF to 16360191.
//       Converted 0x00FFFFFFFF to 4294967295.
open System.Globalization
open System.Numerics

let hexStrings =
    [| "80"
       "E293"
       "F9A2FF"
       "FFFFFFFF"
       "080"
       "0E293"
       "0F9A2FF"
       "0FFFFFFFF"
       "0080"
       "00E293"
       "00F9A2FF"
       "00FFFFFFFF" |]

for hexString in hexStrings do
    let number = BigInteger.Parse(hexString, NumberStyles.AllowHexSpecifier)
    printfn $"Converted 0x{hexString} to {number:N0}."
// The example displays the following output:
//       Converted 0x80 to -128.
//       Converted 0xE293 to -7533.
//       Converted 0xF9A2FF to -417025.
//       Converted 0xFFFFFFFF to -1.
//       Converted 0x080 to 128.
//       Converted 0x0E293 to 58003.
//       Converted 0x0F9A2FF to 16360191.
//       Converted 0x0FFFFFFFF to 4294967295.
//       Converted 0x0080 to 128.
//       Converted 0x00E293 to 58003.
//       Converted 0x00F9A2FF to 16360191.
//       Converted 0x00FFFFFFFF to 4294967295.
Imports System.Globalization
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim hexStrings() As String = { "80", "E293", "F9A2FF", "FFFFFFFF", 
                                     "080", "0E293", "0F9A2FF", "0FFFFFFFF",  
                                     "0080", "00E293", "00F9A2FF", "00FFFFFFFF" }
      For Each hexString As String In hexStrings
         Dim number As BigInteger = BigInteger.Parse(hexString, NumberStyles.AllowHexSpecifier)
         Console.WriteLine("Converted 0x{0} to {1}.", hexString, number)
      Next         
   End Sub
End Module
' The example displays the following output:
'       Converted 0x80 to -128.
'       Converted 0xE293 to -7533.
'       Converted 0xF9A2FF to -417025.
'       Converted 0xFFFFFFFF to -1.
'       Converted 0x080 to 128.
'       Converted 0x0E293 to 58003.
'       Converted 0x0F9A2FF to 16360191.
'       Converted 0x0FFFFFFFF to 4294967295.
'       Converted 0x0080 to 128.
'       Converted 0x00E293 to 58003.
'       Converted 0x00F9A2FF to 16360191.
'       Converted 0x00FFFFFFFF to 4294967295.

value parametresi, geçerli sistem kültürü için başlatılan bir NumberFormatInfo nesnedeki biçimlendirme bilgileri kullanılarak ayrıştırılır. Ayrıştırma işlemi için biçimlendirme bilgileri kullanılan kültürü belirtmek için aşırı yüklemeyi çağırın Parse(String, NumberStyles, IFormatProvider) .

Ayrıca bkz.

Şunlara uygulanır

Parse(String)

Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs
Kaynak:
BigInteger.cs

Bir sayının dize gösterimini eşdeğerine BigInteger dönüştürür.

public:
 static System::Numerics::BigInteger Parse(System::String ^ value);
public static System.Numerics.BigInteger Parse(string value);
static member Parse : string -> System.Numerics.BigInteger
Public Shared Function Parse (value As String) As BigInteger

Parametreler

value
String

Dönüştürülecek sayıyı içeren dize.

Döndürülenler

parametresinde value belirtilen sayıya eşdeğer bir değer.

Özel durumlar

value, null'e eşittir.

value doğru biçimde değil.

Örnekler

Aşağıdaki örnek, iki BigInteger nesnenin Parse(String) örneğini oluştururken yöntemini kullanır. Her nesneyi başka bir sayı ile çarpar ve ardından iki değer arasındaki ilişkiyi belirlemek için yöntemini çağırır Compare .

string stringToParse = String.Empty;
try
{
   // Parse two strings.
   string string1, string2;
   string1 = "12347534159895123";
   string2 = "987654321357159852";
   stringToParse = string1;
   BigInteger number1 = BigInteger.Parse(stringToParse);
   Console.WriteLine("Converted '{0}' to {1:N0}.", stringToParse, number1);
   stringToParse = string2;
   BigInteger number2 = BigInteger.Parse(stringToParse);
   Console.WriteLine("Converted '{0}' to {1:N0}.", stringToParse, number2);
   // Perform arithmetic operations on the two numbers.
   number1 *= 3;
   number2 *= 2;
   // Compare the numbers.
   int result = BigInteger.Compare(number1, number2);
   switch (result)
   {
      case -1:
         Console.WriteLine("{0} is greater than {1}.", number2, number1);
         break;
      case 0:
         Console.WriteLine("{0} is equal to {1}.", number1, number2);
         break;
      case 1:
         Console.WriteLine("{0} is greater than {1}.", number1, number2);
         break;
   }
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse {0}.", stringToParse);
}
// The example displays the following output:
//    Converted '12347534159895123' to 12,347,534,159,895,123.
//    Converted '987654321357159852' to 987,654,321,357,159,852.
//    1975308642714319704 is greater than 37042602479685369.
    let mutable stringToParse = ""

    try
        // Parse two strings.
        let string1 = "12347534159895123"
        let string2 = "987654321357159852"
        stringToParse <- string1
        let number1 = BigInteger.Parse stringToParse
        printfn $"Converted '{stringToParse}' to {number1:N0}."
        stringToParse <- string2
        let number2 = BigInteger.Parse stringToParse
        printfn $"Converted '{stringToParse}' to {number2:N0}."
        // Perform arithmetic operations on the two numbers.
        let number1 = number1 * bigint 3
        let number2 = number2 * bigint 2
        // Compare the numbers.
        let result = BigInteger.Compare(number1, number2)

        match result with
        | -1 -> printfn $"{number2:N0} is greater than {number1:N0}."
        | 0 -> printfn $"{number1:N0} is equal to {number2:N0}."
        | 1
        | _ -> printfn $"{number1:N0} is greater than {number2:N0}."
    with :? FormatException ->
        printfn $"Unable to parse {stringToParse}."

// The example displays the following output:
//    Converted '12347534159895123' to 12,347,534,159,895,123.
//    Converted '987654321357159852' to 987,654,321,357,159,852.
//    1975308642714319704 is greater than 37042602479685369.
Dim stringToParse As String = String.Empty
Try
   ' Parse two strings.
   Dim string1, string2 As String
   string1 = "12347534159895123"
   string2 = "987654321357159852"
   stringToParse = string1
   Dim number1 As BigInteger = BigInteger.Parse(stringToParse)
   Console.WriteLine("Converted '{0}' to {1:N0}.", stringToParse, number1)
   stringToParse = string2
   Dim number2 As BigInteger = BigInteger.Parse(stringToParse)
   Console.WriteLine("Converted '{0}' to {1:N0}.", stringToParse, number2)
   ' Perform arithmetic operations on the two numbers.
   number1 *= 3
   number2 *= 2
   ' Compare the numbers.
   Select Case BigInteger.Compare(number1, number2)
      Case -1
         Console.WriteLine("{0} is greater than {1}.", number2, number1)
      Case 0
         Console.WriteLine("{0} is equal to {1}.", number1, number2)
      Case 1
         Console.WriteLine("{0} is greater than {1}.", number1, number2)
   End Select      
Catch e As FormatException
   Console.WriteLine("Unable to parse {0}.", stringToParse)
End Try
' The example displays the following output:
'    Converted '12347534159895123' to 12,347,534,159,895,123.
'    Converted '987654321357159852' to 987,654,321,357,159,852.
'    1975308642714319704 is greater than 37042602479685369.

Açıklamalar

parametresi, value aşağıdaki biçimdeki bir sayının dize gösterimi olmalıdır.

[ws][sign]rakamlar[ws]

Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır. Aşağıdaki tablo her öğeyi açıklar.

Öğe Description
Ws İsteğe bağlı boşluk.
işaret İsteğe bağlı bir işaret. Geçerli işaret karakterleri geçerli kültürün NumberFormatInfo.NegativeSign ve NumberFormatInfo.PositiveSign özellikleri tarafından belirlenir.
Basamak 0 ile 9 arasında bir basamak dizisi. Baştaki sıfırlar yoksayılır.

Uyarı

parametresi tarafından value belirtilen dize, stil kullanılarak NumberStyles.Integer yorumlanır. Hiçbir grup ayırıcısı veya ondalık ayırıcı içeremez ve ondalık bölümü olamaz.

value parametresi, geçerli sistem kültürü için başlatılan bir System.Globalization.NumberFormatInfo nesnedeki biçimlendirme bilgileri kullanılarak ayrıştırılır. Daha fazla bilgi için bkz. NumberFormatInfo.CurrentInfo. Belirli bir kültürün biçimlendirme bilgilerini kullanarak bir dizeyi ayrıştırmak için yöntemini kullanın Parse(String, IFormatProvider) .

Önemli

yöntemi tarafından ToString çıktısı alınan bir BigInteger değerin dize gösterimine gidiş dönüş yapmak için yöntemini kullanırsanızParse, değerin BigInteger.ToString(String) dize gösterimini BigInteger oluşturmak için "R" biçim tanımlayıcısı ile yöntemini kullanmanız gerekir. Aksi takdirde, dize gösterimi özgün değerin BigInteger yalnızca en önemli 50 basamağını korur ve değeri geri yüklemek BigInteger için yöntemini kullandığınızda Parse veriler kaybolabilir.

Ayrıca bkz.

Şunlara uygulanır