Int64.Parse Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengonversi representasi string dari angka ke bilangan bulat bertanda 64-bit yang setara.
Overload
| Nama | Deskripsi |
|---|---|
| Parse(String) |
Mengonversi representasi string dari angka ke bilangan bulat bertanda 64-bit yang setara. |
| Parse(ReadOnlySpan<Byte>, IFormatProvider) |
Mengurai rentang karakter UTF-8 menjadi nilai. |
| Parse(ReadOnlySpan<Char>, IFormatProvider) |
Mengurai rentang karakter menjadi nilai. |
| Parse(String, NumberStyles) |
Mengonversi representasi string dari angka dalam gaya tertentu ke bilangan bulat bertanda 64-bit yang setara. |
| Parse(String, IFormatProvider) |
Mengonversi representasi string dari angka dalam format khusus budaya tertentu ke bilangan bulat bertanda 64-bit yang setara. |
| Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider) |
Mengurai rentang karakter UTF-8 menjadi nilai. |
| Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) |
Mengonversi representasi rentang angka dalam gaya tertentu dan format khusus budaya ke bilangan bulat bertanda 64-bit yang setara. |
| Parse(String, NumberStyles, IFormatProvider) |
Mengonversi representasi string dari angka dalam gaya tertentu dan format khusus budaya ke bilangan bulat bertanda 64-bit yang setara. |
Parse(String)
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
Mengonversi representasi string dari angka ke bilangan bulat bertanda 64-bit yang setara.
public:
static long Parse(System::String ^ s);
public static long Parse(string s);
static member Parse : string -> int64
Public Shared Function Parse (s As String) As Long
Parameter
- s
- String
String yang berisi angka yang akan dikonversi.
Mengembalikan
Bilangan bulat bertanda tangan 64-bit yang setara dengan angka yang terkandung dalam s.
Pengecualian
s adalah null.
s tidak dalam format yang benar.
s mewakili angka yang kurang dari Int64.MinValue atau lebih besar dari Int64.MaxValue.
Contoh
Contoh berikut menunjukkan cara mengonversi nilai string menjadi nilai bilangan bulat bertanda tangan 64-bit menggunakan metode .Int64.Parse(String) Kemudian menampilkan nilai bilangan bulat panjang yang dihasilkan.
using System;
public class ParseInt64
{
public static void Main()
{
Convert(" 179042 ");
Convert(" -2041326 ");
Convert(" +8091522 ");
Convert(" 1064.0 ");
Convert(" 178.3");
Convert(String.Empty);
Convert(((decimal) Int64.MaxValue) + 1.ToString());
}
private static void Convert(string value)
{
try
{
long number = Int64.Parse(value);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to convert '{0}'.", value);
}
catch (OverflowException)
{
Console.WriteLine("'{0}' is out of range.", value);
}
}
}
// This example displays the following output to the console:
// Converted ' 179042 ' to 179042.
// Converted ' -2041326 ' to -2041326.
// Converted ' +8091522 ' to 8091522.
// Unable to convert ' 1064.0 '.
// Unable to convert ' 178.3'.
// Unable to convert ''.
// '92233720368547758071' is out of range.
open System
let convert value =
try
let number = Int64.Parse value
printfn $"Converted '{value}' to {number}."
with
| :? FormatException ->
printfn $"Unable to convert '{value}'."
| :? OverflowException ->
printfn $"'{value}' is out of range."
convert " 179042 "
convert " -2041326 "
convert " +8091522 "
convert " 1064.0 "
convert " 178.3"
convert String.Empty
decimal Int64.MaxValue + 1M
|> string
|> convert
// This example displays the following output to the console:
// Converted ' 179042 ' to 179042.
// Converted ' -2041326 ' to -2041326.
// Converted ' +8091522 ' to 8091522.
// Unable to convert ' 1064.0 '.
// Unable to convert ' 178.3'.
// Unable to convert ''.
// '92233720368547758071' is out of range.
Module ParseInt64
Public Sub Main()
Convert(" 179032 ")
Convert(" -2041326 ")
Convert(" +8091522 ")
Convert(" 1064.0 ")
Convert(" 178.3")
Convert(String.Empty)
Convert((CDec(Int64.MaxValue) + 1).ToString())
End Sub
Private Sub Convert(value As String)
Try
Dim number As Long = Int64.Parse(value)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to convert '{0}'.", value)
Catch e As OverflowException
Console.WriteLine("'{0}' is out of range.", value)
End Try
End Sub
End Module
' This example displays the following output to the console:
' Converted ' 179032 ' to 179032.
' Converted ' -2041326 ' to -2041326.
' Converted ' +8091522 ' to 8091522.
' Unable to convert ' 1064.0 '.
' Unable to convert ' 178.3'.
' Unable to convert ''.
' '9223372036854775808' is out of range.
Keterangan
Parameter s berisi sejumlah formulir:
[ws] [sign]digits[ws]
Elemen dalam tanda kurung siku ([ dan ]) bersifat opsional. Tabel berikut ini menjelaskan setiap elemen.
| Elemen | Deskripsi |
|---|---|
| Ws | Spasi kosong opsional. |
| tanda | Tanda opsional. |
| Digit | Urutan digit mulai dari 0 hingga 9. |
Parameter s ditafsirkan menggunakan NumberStyles.Integer gaya . Selain digit desimal, hanya spasi di depan dan belakang bersama dengan tanda di depan yang diizinkan. Untuk secara eksplisit menentukan elemen gaya yang dapat ada di s, gunakan Int64.Parse(String, NumberStyles) metode atau Int64.Parse(String, NumberStyles, IFormatProvider) .
Parameter s diurai menggunakan informasi pemformatan dalam objek yang diinisialisasi NumberFormatInfo untuk budaya sistem saat ini. Untuk mengurai string menggunakan informasi pemformatan dari beberapa budaya lain, gunakan metode .Int64.Parse(String, NumberStyles, IFormatProvider)
Lihat juga
Berlaku untuk
Parse(ReadOnlySpan<Byte>, IFormatProvider)
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
Mengurai rentang karakter UTF-8 menjadi nilai.
public:
static long Parse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider) = IUtf8SpanParsable<long>::Parse;
public static long Parse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider);
static member Parse : ReadOnlySpan<byte> * IFormatProvider -> int64
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider) As Long
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Rentang karakter UTF-8 untuk diurai.
- provider
- IFormatProvider
Objek yang menyediakan informasi pemformatan khusus budaya tentang utf8Text.
Mengembalikan
Hasil penguraian utf8Text.
Penerapan
Berlaku untuk
Parse(ReadOnlySpan<Char>, IFormatProvider)
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
Mengurai rentang karakter menjadi nilai.
public:
static long Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<long>::Parse;
public static long Parse(ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> int64
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As Long
Parameter
- s
- ReadOnlySpan<Char>
Rentang karakter untuk diurai.
- provider
- IFormatProvider
Objek yang menyediakan informasi pemformatan khusus budaya tentang s.
Mengembalikan
Hasil penguraian s.
Penerapan
Berlaku untuk
Parse(String, NumberStyles)
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
Mengonversi representasi string dari angka dalam gaya tertentu ke bilangan bulat bertanda 64-bit yang setara.
public:
static long Parse(System::String ^ s, System::Globalization::NumberStyles style);
public static long Parse(string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> int64
Public Shared Function Parse (s As String, style As NumberStyles) As Long
Parameter
- s
- String
String yang berisi angka yang akan dikonversi.
- style
- NumberStyles
Kombinasi bitwise dari NumberStyles nilai yang menunjukkan format yang diizinkan dari s. Nilai umum yang akan ditentukan adalah Integer.
Mengembalikan
Bilangan bulat bertanda tangan 64-bit yang setara dengan angka yang ditentukan dalam s.
Pengecualian
s adalah null.
style bukan nilai NumberStyles .
-atau-
style bukan kombinasi nilai AllowHexSpecifier dan HexNumber .
s tidak sesuai dengan styleformat .
s mewakili angka yang kurang dari Int64.MinValue atau lebih besar dari Int64.MaxValue.
-atau-
style mendukung digit pecahan tetapi s menyertakan digit pecahan bukan nol.
Contoh
Contoh berikut menggunakan Int64.Parse(String, NumberStyles) metode untuk mengurai representasi string dari beberapa Int64 nilai. Budaya saat ini untuk contohnya adalah en-US.
using System;
using System.Globalization;
public class ParseInt32
{
public static void Main()
{
Convert("104.0", NumberStyles.AllowDecimalPoint);
Convert("104.9", NumberStyles.AllowDecimalPoint);
Convert (" 106034", NumberStyles.None);
Convert(" $17,198,064.42", NumberStyles.AllowCurrencySymbol |
NumberStyles.Number);
Convert(" $17,198,064.00", NumberStyles.AllowCurrencySymbol |
NumberStyles.Number);
Convert("103E06", NumberStyles.AllowExponent);
Convert("1200E-02", NumberStyles.AllowExponent);
Convert("1200E-03", NumberStyles.AllowExponent);
Convert("-1,345,791", NumberStyles.AllowThousands);
Convert("(1,345,791)", NumberStyles.AllowThousands |
NumberStyles.AllowParentheses);
Convert("FFCA00A0", NumberStyles.HexNumber);
Convert("0xFFCA00A0", NumberStyles.HexNumber);
}
private static void Convert(string value, NumberStyles style)
{
try
{
long number = Int64.Parse(value, style);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to convert '{0}'.", value);
}
catch (OverflowException)
{
Console.WriteLine("'{0}' is out of range of the Int64 type.", value);
}
}
}
// The example displays the following output to the console:
// Converted '104.0' to 104.
// '104.9' is out of range of the Int64 type.
// Unable to convert ' 106034'.
// ' $17,198,064.42' is out of range of the Int64 type.
// Converted ' $17,198,064.00' to 17198064.
// Converted '103E06' to 103000000.
// Converted '1200E-02' to 12.
// '1200E-03' is out of range of the Int64 type.
// Unable to convert '-1,345,791'.
// Converted '(1,345,791)' to -1345791.
// Converted 'FFCA00A0' to 4291428512.
// Unable to convert '0xFFCA00A0'.
open System
open System.Globalization
let convert value (style: NumberStyles) =
try
let number = Int64.Parse(value, style)
printfn $"converted '{value}' to {number}."
with
| :? FormatException ->
printfn $"Unable to convert '{value}'."
| :? OverflowException ->
printfn $"'{value}' is out of range of the Int64 type."
convert "104.0" NumberStyles.AllowDecimalPoint
convert "104.9" NumberStyles.AllowDecimalPoint
convert " 106034" NumberStyles.None
convert " $17,198,064.42" (NumberStyles.AllowCurrencySymbol ||| NumberStyles.Number)
convert " $17,198,064.00" (NumberStyles.AllowCurrencySymbol ||| NumberStyles.Number)
convert "103E06" NumberStyles.AllowExponent
convert "1200E-02" NumberStyles.AllowExponent
convert "1200E-03" NumberStyles.AllowExponent
convert "-1,345,791" NumberStyles.AllowThousands
convert "(1,345,791)" (NumberStyles.AllowThousands ||| NumberStyles.AllowParentheses)
convert "FFCA00A0" NumberStyles.HexNumber
convert "0xFFCA00A0" NumberStyles.HexNumber
// The example displays the following output to the console:
// converted '104.0' to 104.
// '104.9' is out of range of the Int64 type.
// Unable to convert ' 106034'.
// ' $17,198,064.42' is out of range of the Int64 type.
// converted ' $17,198,064.00' to 17198064.
// converted '103E06' to 103000000.
// converted '1200E-02' to 12.
// '1200E-03' is out of range of the Int64 type.
// Unable to convert '-1,345,791'.
// converted '(1,345,791)' to -1345791.
// converted 'FFCA00A0' to 4291428512.
// Unable to convert '0xFFCA00A0'.
Imports System.Globalization
Module ParseInt64
Public Sub Main()
Convert("104.0", NumberStyles.AllowDecimalPoint)
Convert("104.9", NumberStyles.AllowDecimalPoint)
Convert (" 106034", NumberStyles.None)
Convert(" $17,198,064.42", NumberStyles.AllowCurrencySymbol Or _
NumberStyles.Number)
Convert(" $17,198,064.00", NumberStyles.AllowCurrencySymbol Or _
NumberStyles.Number)
Convert("103E06", NumberStyles.AllowExponent)
Convert("1200E-02", NumberStyles.AllowExponent)
Convert("1200E-03", NumberStyles.AllowExponent)
Convert("-1,345,791", NumberStyles.AllowThousands)
Convert("(1,345,791)", NumberStyles.AllowThousands Or _
NumberStyles.AllowParentheses)
Convert("FFCA00A0", NumberStyles.HexNumber)
Convert("0xFFCA00A0", NumberStyles.HexNumber)
End Sub
Private Sub Convert(value As String, style As NumberStyles)
Try
Dim number As Long = Int64.Parse(value, style)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to convert '{0}'.", value)
Catch e As OverflowException
Console.WriteLine("'{0}' is out of range of the Int64 type.", value)
End Try
End Sub
End Module
' The example displays the following output to the console:
' Converted '104.0' to 104.
' '104.9' is out of range of the Int64 type.
' Unable to convert ' 106034'.
' ' $17,198,064.42' is out of range of the Int64 type.
' Converted ' $17,198,064.00' to 17198064.
' Converted '103E06' to 103000000.
' Converted '1200E-02' to 12.
' '1200E-03' is out of range of the Int64 type.
' Unable to convert '-1,345,791'.
' Converted '(1,345,791)' to -1345791.
' Converted 'FFCA00A0' to 4291428512.
' Unable to convert '0xFFCA00A0'.
Keterangan
Parameter style mendefinisikan elemen gaya (seperti spasi kosong, simbol tanda positif atau negatif, atau simbol pemisah ribuan) yang diizinkan dalam s parameter agar operasi penguraian berhasil. Ini harus merupakan kombinasi bendera bit dari NumberStyles enumerasi. Bergantung pada nilai style, s parameter mungkin berisi elemen berikut:
[ws] [$] [tanda tangan] [digits,]digits[.fractional_digits][e[sign]exponential_digits][ws]
Atau, jika style mencakup AllowHexSpecifier:
[ws]hexdigits[ws]
Elemen dalam tanda kurung siku ([ dan ]) bersifat opsional. Tabel berikut ini menjelaskan setiap elemen.
| Elemen | Deskripsi |
|---|---|
| Ws | Spasi kosong opsional. Spasi kosong dapat muncul di awal s jika style menyertakan NumberStyles.AllowLeadingWhite bendera, dan dapat muncul di akhir s jika style menyertakan NumberStyles.AllowTrailingWhite bendera. |
| $ | Simbol mata uang khusus budaya. Posisinya dalam string didefinisikan oleh NumberFormatInfo.CurrencyNegativePattern properti dan NumberFormatInfo.CurrencyPositivePattern dari budaya saat ini. Simbol mata uang budaya saat ini dapat muncul jika sstyle menyertakan NumberStyles.AllowCurrencySymbol bendera. |
| sign | Tanda opsional. Tanda dapat muncul di awal s jika style menyertakan NumberStyles.AllowLeadingSign bendera, dan dapat muncul di akhir s jika style menyertakan NumberStyles.AllowTrailingSign bendera. Tanda kurung dapat digunakan s untuk menunjukkan nilai negatif jika style menyertakan NumberStyles.AllowParentheses bendera. |
|
Digit fractional_digits exponential_digits |
Urutan digit dari 0 hingga 9. Untuk fractional_digits, hanya digit 0 yang valid. |
| , | Simbol pemisah ribuan khusus budaya. Pemisah ribuan budaya saat ini dapat muncul jika sstyle menyertakan NumberStyles.AllowThousands bendera. |
| . | Simbol titik desimal khusus budaya. Simbol titik desimal budaya saat ini dapat muncul jika sstyle menyertakan NumberStyles.AllowDecimalPoint bendera. Hanya digit 0 yang dapat muncul sebagai digit pecahan agar operasi penguraian berhasil; jika fractional_digits menyertakan digit lain, maka OverflowException akan dilemparkan. |
| e | Karakter 'e' atau 'E', yang menunjukkan bahwa nilai diwakili dalam notasi eksponensial. Parameter s dapat mewakili angka dalam notasi eksponensial jika style menyertakan NumberStyles.AllowExponent bendera. |
| hexdigits | Urutan digit heksadesimal dari 0 hingga f, atau 0 hingga F. |
Nota
Karakter NUL (U+0000) s yang dihentikan diabaikan oleh operasi penguraian, terlepas dari style nilai argumen.
String dengan digit saja (yang sesuai dengan NumberStyles.None gaya) selalu berhasil diurai jika berada dalam rentang Int64 jenis. Sebagian besar elemen kontrol anggota yang tersisa NumberStyles yang mungkin tetapi tidak diperlukan untuk hadir dalam string input. Tabel berikut menunjukkan bagaimana anggota individu NumberStyles memengaruhi elemen yang mungkin ada di s.
| Nilai NumberStyles | Elemen yang diizinkan dalam s selain digit |
|---|---|
| None | Elemen digit saja. |
| AllowDecimalPoint | Elemen titik desimal ( . ) dan digit pecahan . |
| AllowExponent | Parameter s juga dapat menggunakan notasi eksponensial. Jika s menunjukkan angka dalam notasi eksponensial, nilai numerik yang dihasilkan tidak dapat menyertakan digit pecahan bukan nol. |
| AllowLeadingWhite | Elemen ws di awal s. |
| AllowTrailingWhite | Elemen ws di akhir s. |
| AllowLeadingSign | Elemen tanda di awal s. |
| AllowTrailingSign | Elemen tanda di akhir s. |
| AllowParentheses | Elemen tanda dalam bentuk tanda kurung yang menyertakan nilai numerik. |
| AllowThousands | Elemen pemisah ribuan ( , ) . |
| AllowCurrencySymbol | Elemen .$ |
| Currency | Semua. Parameter s tidak dapat mewakili angka heksadesimal atau angka dalam notasi eksponensial. |
| Float | Elemen ws di awal atau akhir s, tanda di awal s, dan simbol titik desimal ( . ). Parameter s juga dapat menggunakan notasi eksponensial. |
| Number | Elemen ws, sign, thousands separator ( , ), dan desimal point ( . ). |
| Any | Semua gaya, kecuali s tidak dapat mewakili angka heksadesimal. |
NumberStyles.AllowHexSpecifier Jika bendera digunakan, s harus berupa nilai heksadesimal tanpa awalan. Misalnya, "C9AF3" berhasil mengurai, tetapi "0xC9AF3" tidak. Satu-satunya bendera lain yang dapat dikombinasikan dengan s parameter adalah NumberStyles.AllowLeadingWhite dan NumberStyles.AllowTrailingWhite. (Enumerasi NumberStyles mencakup gaya angka komposit, NumberStyles.HexNumber, yang mencakup kedua bendera spasi putih.)
Parameter s diurai menggunakan informasi pemformatan dalam objek yang diinisialisasi NumberFormatInfo untuk budaya sistem saat ini. Untuk menentukan budaya yang informasi pemformatannya digunakan untuk operasi penguraian, panggil Int64.Parse(String, NumberStyles, IFormatProvider) kelebihan beban.
Lihat juga
Berlaku untuk
Parse(String, IFormatProvider)
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
Mengonversi representasi string dari angka dalam format khusus budaya tertentu ke bilangan bulat bertanda 64-bit yang setara.
public:
static long Parse(System::String ^ s, IFormatProvider ^ provider);
public:
static long Parse(System::String ^ s, IFormatProvider ^ provider) = IParsable<long>::Parse;
public static long Parse(string s, IFormatProvider provider);
public static long Parse(string s, IFormatProvider? provider);
static member Parse : string * IFormatProvider -> int64
Public Shared Function Parse (s As String, provider As IFormatProvider) As Long
Parameter
- s
- String
String yang berisi angka yang akan dikonversi.
- provider
- IFormatProvider
Objek yang memasok informasi pemformatan khusus budaya tentang s.
Mengembalikan
Bilangan bulat bertanda tangan 64-bit yang setara dengan angka yang ditentukan dalam s.
Penerapan
Pengecualian
s adalah null.
s tidak dalam format yang benar.
s mewakili angka yang kurang dari Int64.MinValue atau lebih besar dari Int64.MaxValue.
Contoh
Contoh berikut adalah tombol klik penanganan aktivitas formulir Web. Ini menggunakan array yang dikembalikan oleh HttpRequest.UserLanguages properti untuk menentukan lokal pengguna. Kemudian membuat instans CultureInfo objek yang sesuai dengan lokal tersebut. Objek NumberFormatInfo milik CultureInfo objek tersebut Parse(String, IFormatProvider) kemudian diteruskan ke metode untuk mengonversi input pengguna menjadi Int64 nilai.
protected void OkToLong_Click(object sender, EventArgs e)
{
string locale;
long number;
CultureInfo culture;
// Return if string is empty
if (String.IsNullOrEmpty(this.inputNumber.Text))
return;
// Get locale of web request to determine possible format of number
if (Request.UserLanguages.Length == 0)
return;
locale = Request.UserLanguages[0];
if (String.IsNullOrEmpty(locale))
return;
// Instantiate CultureInfo object for the user's locale
culture = new CultureInfo(locale);
// Convert user input from a string to a number
try
{
number = Int64.Parse(this.inputNumber.Text, culture.NumberFormat);
}
catch (FormatException)
{
return;
}
catch (Exception)
{
return;
}
// Output number to label on web form
this.outputNumber.Text = "Number is " + number.ToString();
}
Protected Sub OkToLong_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OkToLong.Click
Dim locale As String
Dim culture As CultureInfo
Dim number As Long
' Return if string is empty
If String.IsNullOrEmpty(Me.inputNumber.Text) Then Exit Sub
' Get locale of web request to determine possible format of number
If Request.UserLanguages.Length = 0 Then Exit Sub
locale = Request.UserLanguages(0)
If String.IsNullOrEmpty(locale) Then Exit Sub
' Instantiate CultureInfo object for the user's locale
culture = New CultureInfo(locale)
' Convert user input from a string to a number
Try
number = Int64.Parse(Me.inputNumber.Text, culture.NumberFormat)
Catch ex As FormatException
Exit Sub
Catch ex As Exception
Exit Sub
End Try
' Output number to label on web form
Me.outputNumber.Text = "Number is " & number.ToString()
End Sub
Keterangan
Kelebihan beban Parse(String, IFormatProvider) metode ini biasanya digunakan untuk mengonversi teks yang dapat diformat dalam berbagai cara menjadi Int64 nilai. Misalnya, teks dapat digunakan untuk mengonversi teks yang dimasukkan oleh pengguna ke dalam kotak teks HTML menjadi nilai numerik.
Parameter s berisi sejumlah formulir:
[ws] [sign]digits[ws]
Item dalam tanda kurung siku ([ dan ]) bersifat opsional, dan item lainnya adalah sebagai berikut.
ws Spasi kosong opsional.
tanda tangani Tanda opsional.
digit Urutan digit mulai dari 0 hingga 9.
Parameter s ditafsirkan menggunakan NumberStyles.Integer gaya . Selain digit desimal, hanya spasi di depan dan belakang bersama dengan tanda di depan yang diizinkan. Untuk secara eksplisit menentukan elemen gaya yang dapat ada di s, gunakan Int64.Parse(String, NumberStyles, IFormatProvider) metode .
Parameter provider adalah IFormatProvider implementasi, seperti NumberFormatInfo objek atau CultureInfo . Parameter memasok provider informasi khusus budaya tentang format s. Jika provider adalah null, NumberFormatInfo untuk budaya saat ini digunakan.
Lihat juga
Berlaku untuk
Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
Mengurai rentang karakter UTF-8 menjadi nilai.
public static long Parse(ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
static member Parse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider -> int64
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As Long
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Rentang karakter UTF-8 untuk diurai.
- style
- NumberStyles
Kombinasi bitwise dari gaya angka yang dapat ada di utf8Text.
- provider
- IFormatProvider
Objek yang menyediakan informasi pemformatan khusus budaya tentang utf8Text.
Mengembalikan
Hasil penguraian utf8Text.
Penerapan
Berlaku untuk
Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
Mengonversi representasi rentang angka dalam gaya tertentu dan format khusus budaya ke bilangan bulat bertanda 64-bit yang setara.
public static long Parse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
public static long Parse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = default);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> int64
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As Long
Parameter
- s
- ReadOnlySpan<Char>
Rentang yang berisi karakter yang mewakili angka yang akan dikonversi.
- style
- NumberStyles
Kombinasi bitwise dari nilai enumerasi yang menunjukkan elemen gaya yang dapat ada di s. Nilai umum yang akan ditentukan adalah Integer.
- provider
- IFormatProvider
Yang IFormatProvider memasok informasi pemformatan khusus budaya tentang s.
Mengembalikan
Bilangan bulat bertanda tangan 64-bit yang setara dengan angka yang ditentukan dalam s.
Penerapan
Berlaku untuk
Parse(String, NumberStyles, IFormatProvider)
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
- Sumber:
- Int64.cs
Mengonversi representasi string dari angka dalam gaya tertentu dan format khusus budaya ke bilangan bulat bertanda 64-bit yang setara.
public:
static long Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public:
static long Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider) = System::Numerics::INumberBase<long>::Parse;
public static long Parse(string s, System.Globalization.NumberStyles style, IFormatProvider provider);
public static long Parse(string s, System.Globalization.NumberStyles style, IFormatProvider? provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> int64
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As Long
Parameter
- s
- String
String yang berisi angka yang akan dikonversi.
- style
- NumberStyles
Kombinasi bitwise dari nilai enumerasi yang menunjukkan elemen gaya yang dapat ada di s. Nilai umum yang akan ditentukan adalah Integer.
- provider
- IFormatProvider
Yang IFormatProvider memasok informasi pemformatan khusus budaya tentang s.
Mengembalikan
Bilangan bulat bertanda tangan 64-bit yang setara dengan angka yang ditentukan dalam s.
Penerapan
Pengecualian
s adalah null.
style bukan nilai NumberStyles .
-atau-
style bukan kombinasi nilai AllowHexSpecifier dan HexNumber .
s tidak sesuai dengan styleformat .
s mewakili angka yang kurang dari Int64.MinValue atau lebih besar dari Int64.MaxValue.
-atau-
style mendukung digit pecahan, tetapi s menyertakan digit pecahan bukan nol.
Contoh
Contoh berikut menggunakan berbagai style parameter dan provider untuk mengurai representasi Int64 string nilai. Ini juga menggambarkan beberapa cara berbeda string yang sama dapat ditafsirkan tergantung pada budaya yang informasi pemformatannya digunakan untuk operasi penguraian.
using System;
using System.Globalization;
public class ParseInt64
{
public static void Main()
{
Convert("12,000", NumberStyles.Float | NumberStyles.AllowThousands,
new CultureInfo("en-GB"));
Convert("12,000", NumberStyles.Float | NumberStyles.AllowThousands,
new CultureInfo("fr-FR"));
Convert("12,000", NumberStyles.Float, new CultureInfo("en-US"));
Convert("12 425,00", NumberStyles.Float | NumberStyles.AllowThousands,
new CultureInfo("sv-SE"));
Convert("12,425.00", NumberStyles.Float | NumberStyles.AllowThousands,
NumberFormatInfo.InvariantInfo);
Convert("631,900", NumberStyles.Integer | NumberStyles.AllowDecimalPoint,
new CultureInfo("fr-FR"));
Convert("631,900", NumberStyles.Integer | NumberStyles.AllowDecimalPoint,
new CultureInfo("en-US"));
Convert("631,900", NumberStyles.Integer | NumberStyles.AllowThousands,
new CultureInfo("en-US"));
}
private static void Convert(string value, NumberStyles style,
IFormatProvider provider)
{
try
{
long number = Int64.Parse(value, style, provider);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to convert '{0}'.", value);
}
catch (OverflowException)
{
Console.WriteLine("'{0}' is out of range of the Int64 type.", value);
}
}
}
// This example displays the following output to the console:
// Converted '12,000' to 12000.
// Converted '12,000' to 12.
// Unable to convert '12,000'.
// Converted '12 425,00' to 12425.
// Converted '12,425.00' to 12425.
// '631,900' is out of range of the Int64 type.
// Unable to convert '631,900'.
// Converted '631,900' to 631900.
open System
open System.Globalization
let convert (value: string) style provider =
try
let number = Int64.Parse(value, style, provider)
printfn $"Converted '{value}' to {number}."
with
| :? FormatException ->
printfn $"Unable to convert '{value}'."
| :? OverflowException ->
printfn $"'{value}' is out of range of the Int64 type."
convert "12,000" (NumberStyles.Float ||| NumberStyles.AllowThousands) (CultureInfo "en-GB")
convert "12,000" (NumberStyles.Float ||| NumberStyles.AllowThousands) (CultureInfo "fr-FR")
convert "12,000" NumberStyles.Float (CultureInfo "en-US")
convert "12 425,00" (NumberStyles.Float ||| NumberStyles.AllowThousands) (CultureInfo "sv-SE")
convert "12,425.00" (NumberStyles.Float ||| NumberStyles.AllowThousands) NumberFormatInfo.InvariantInfo
convert "631,900" (NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint) (CultureInfo "fr-FR")
convert "631,900" (NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint) (CultureInfo "en-US")
convert "631,900" (NumberStyles.Integer ||| NumberStyles.AllowThousands) (CultureInfo "en-US")
// This example displays the following output to the console:
// Converted '12,000' to 12000.
// Converted '12,000' to 12.
// Unable to convert '12,000'.
// Converted '12 425,00' to 12425.
// Converted '12,425.00' to 12425.
// '631,900' is out of range of the Int64 type.
// Unable to convert '631,900'.
// Converted '631,900' to 631900.
Imports System.Globalization
Module ParseInt64
Public Sub Main()
Convert("12,000", NumberStyles.Float Or NumberStyles.AllowThousands, _
New CultureInfo("en-GB"))
Convert("12,000", NumberStyles.Float Or NumberStyles.AllowThousands, _
New CultureInfo("fr-FR"))
Convert("12,000", NumberStyles.Float, New CultureInfo("en-US"))
Convert("12 425,00", NumberStyles.Float Or NumberStyles.AllowThousands, _
New CultureInfo("sv-SE"))
Convert("12,425.00", NumberStyles.Float Or NumberStyles.AllowThousands, _
NumberFormatInfo.InvariantInfo)
Convert("631,900", NumberStyles.Integer Or NumberStyles.AllowDecimalPoint, _
New CultureInfo("fr-FR"))
Convert("631,900", NumberStyles.Integer Or NumberStyles.AllowDecimalPoint, _
New CultureInfo("en-US"))
Convert("631,900", NumberStyles.Integer Or NumberStyles.AllowThousands, _
New CultureInfo("en-US"))
End Sub
Private Sub Convert(value As String, style As NumberStyles, _
provider As IFormatProvider)
Try
Dim number As Long = Int64.Parse(value, style, provider)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to convert '{0}'.", value)
Catch e As OverflowException
Console.WriteLine("'{0}' is out of range of the Int64 type.", value)
End Try
End Sub
End Module
' This example displays the following output to the console:
' Converted '12,000' to 12000.
' Converted '12,000' to 12.
' Unable to convert '12,000'.
' Converted '12 425,00' to 12425.
' Converted '12,425.00' to 12425.
' '631,900' is out of range of the Int64 type.
' Unable to convert '631,900'.
' Converted '631,900' to 631900.
Keterangan
Parameter style menentukan elemen gaya (seperti spasi kosong atau tanda positif) yang diizinkan dalam s parameter agar operasi penguraian berhasil. Ini harus merupakan kombinasi bendera bit dari NumberStyles enumerasi. Bergantung pada nilai style, s parameter dapat mencakup elemen berikut:
[ws] [$] [tanda tangan] [digits,]digits[.fractional_digits][e[sign]exponential_digits][ws]
Atau, jika style mencakup AllowHexSpecifier:
[ws]hexdigits[ws]
Elemen dalam tanda kurung siku ([ dan ]) bersifat opsional. Tabel berikut ini menjelaskan setiap elemen.
| Elemen | Deskripsi |
|---|---|
| Ws | Spasi kosong opsional. Spasi kosong dapat muncul di awal s jika style menyertakan NumberStyles.AllowLeadingWhite bendera, dan dapat muncul di akhir s jika style menyertakan NumberStyles.AllowTrailingWhite bendera. |
| $ | Simbol mata uang khusus budaya. Posisinya dalam string didefinisikan oleh NumberFormatInfo.CurrencyPositivePattern properti objek yang NumberFormatInfo dikembalikan oleh GetFormat metode provider parameter . Simbol mata uang dapat muncul jika sstyle menyertakan NumberStyles.AllowCurrencySymbol bendera. |
| sign | Tanda opsional. Tanda dapat muncul di awal s jika style menyertakan NumberStyles.AllowLeadingSign bendera atau di akhir s jika style menyertakan NumberStyles.AllowTrailingSign bendera. Tanda kurung dapat digunakan s untuk menunjukkan nilai negatif jika style menyertakan NumberStyles.AllowParentheses bendera. |
|
Digit fractional_digits exponential_digits |
Urutan digit dari 0 hingga 9. |
| , | Simbol pemisah ribuan khusus budaya. Pemisah ribuan budaya yang ditentukan oleh provider dapat muncul jika sstyle menyertakan NumberStyles.AllowThousands bendera. |
| . | Simbol titik desimal khusus budaya. Simbol titik desimal dari budaya yang ditentukan oleh provider dapat muncul jika sstyle menyertakan NumberStyles.AllowDecimalPoint bendera.Hanya digit 0 yang dapat muncul sebagai digit pecahan agar operasi penguraian berhasil; jika fractional_digits menyertakan digit lain, maka OverflowException akan dilemparkan. |
| e | Karakter 'e' atau 'E', yang menunjukkan bahwa nilai diwakili dalam notasi eksponensial. Parameter s dapat mewakili angka dalam notasi eksponensial jika style menyertakan NumberStyles.AllowExponent bendera. |
| hexdigits | Urutan digit heksadesimal dari 0 hingga f, atau 0 hingga F. |
Nota
Karakter NUL (U+0000) s yang dihentikan diabaikan oleh operasi penguraian, terlepas dari style nilai argumen.
String dengan digit desimal saja (yang sesuai dengan NumberStyles.None gaya) selalu berhasil diurai jika berada dalam rentang Int64 jenis. Sebagian besar elemen kontrol anggota yang tersisa NumberStyles yang mungkin tetapi tidak diperlukan untuk hadir dalam string input ini. Tabel berikut menunjukkan bagaimana anggota individu NumberStyles memengaruhi elemen yang mungkin ada di s.
| Nilai NumberStyles non-komposit | Elemen yang diizinkan dalam s selain digit |
|---|---|
| NumberStyles.None | Digit desimal saja. |
| NumberStyles.AllowDecimalPoint | Elemen titik desimal ( . ) dan digit pecahan . Namun, fractional-digit hanya boleh terdiri dari satu atau lebih 0 digit atau yang OverflowException dilemparkan. |
| NumberStyles.AllowExponent | Parameter s juga dapat menggunakan notasi eksponensial. |
| NumberStyles.AllowLeadingWhite | Elemen ws di awal s. |
| NumberStyles.AllowTrailingWhite | Elemen ws di akhir s. |
| NumberStyles.AllowLeadingSign | Tanda dapat muncul sebelum digit. |
| NumberStyles.AllowTrailingSign | Tanda dapat muncul setelah digit. |
| NumberStyles.AllowParentheses | Elemen tanda dalam bentuk tanda kurung yang menyertakan nilai numerik. |
| NumberStyles.AllowThousands | Elemen pemisah ribuan ( , ) . |
| NumberStyles.AllowCurrencySymbol | Elemen .$ |
NumberStyles.AllowHexSpecifier Jika bendera digunakan, s harus berupa nilai heksadesimal tanpa awalan. Misalnya, "C9AF3" berhasil mengurai, tetapi "0xC9AF3" tidak. Satu-satunya bendera lain yang dapat hadir adalah styleNumberStyles.AllowLeadingWhite dan NumberStyles.AllowTrailingWhite. (Enumerasi NumberStyles memiliki gaya angka komposit, NumberStyles.HexNumber, yang mencakup kedua bendera spasi putih.)
Parameter provider adalah IFormatProvider implementasi, seperti NumberFormatInfo objek atau CultureInfo . Parameter memasok provider informasi khusus budaya yang digunakan dalam penguraian. Jika provider adalah null, NumberFormatInfo untuk budaya saat ini digunakan.