Convert.ToString 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将指定的值转换为其等效的字符串表示形式。
重载
ToString(Int32, IFormatProvider) |
使用指定的区域性特定格式设置信息,将指定的 32 位带符号整数的值转换为其等效的字符串表示形式。 |
ToString(Int16, Int32) |
将 16 位带符号整数的值转换为其指定基的等效字符串表示形式。 |
ToString(DateTime, IFormatProvider) |
使用指定的区域性特定格式设置信息将指定的 DateTime 的值转换为其等效的字符串表示形式。 |
ToString(Double, IFormatProvider) |
将指定的双精度浮点数的值转换其等效的字符串表示形式。 |
ToString(Decimal, IFormatProvider) |
使用指定的区域性特定格式设置信息将指定的十进制数的值转换为其等效的字符串表示形式。 |
ToString(Int32, Int32) |
将 32 位带符号整数的值转换为其指定基的等效字符串表示形式。 |
ToString(Int16, IFormatProvider) |
使用指定的区域性特定格式设置信息,将指定的 16 位带符号整数的值转换为其等效的字符串表示形式。 |
ToString(Int64, IFormatProvider) |
使用指定的区域性特定格式设置信息,将指定的 64 位带符号整数的值转换为其等效的字符串表示形式。 |
ToString(Single, IFormatProvider) |
使用指定的区域性特定格式设置信息,将指定的单精度浮点数的值转换为其等效的字符串表示形式。 |
ToString(Object, IFormatProvider) |
使用指定的区域性特定格式设置信息将指定对象的值转换为其等效的字符串表示形式。 |
ToString(SByte, IFormatProvider) |
使用指定的区域性特定格式设置信息,将指定的 8 位带符号整数的值转换为其等效的字符串表示形式。 |
ToString(String, IFormatProvider) |
返回指定的字符串实例;不执行任何实际转换。 |
ToString(UInt16, IFormatProvider) |
使用指定的区域性特定格式设置信息,将指定的 16 位无符号整数的值转换为其等效的字符串表示形式。 |
ToString(UInt32, IFormatProvider) |
使用指定的区域性特定格式设置信息,将指定的 32 位无符号整数的值转换为其等效的字符串表示形式。 |
ToString(UInt64, IFormatProvider) |
使用指定的区域性特定格式设置信息,将指定的 64 位无符号整数的值转换为其等效的字符串表示形式。 |
ToString(Char, IFormatProvider) |
使用指定的区域性特定格式设置信息将指定的 Unicode 字符的值转换为其等效的字符串表示形式。 |
ToString(Int64, Int32) |
将 64 位带符号整数的值转换为其指定基的等效字符串表示形式。 |
ToString(Byte, Int32) |
将 8 位无符号整数的值转换为其等效的指定基数的字符串表示形式。 |
ToString(Boolean, IFormatProvider) |
将指定的布尔值转换为其等效的字符串表示形式。 |
ToString(Byte, IFormatProvider) |
使用指定的区域性特定格式设置信息,将指定的 8 位无符号整数的值转换为其等效的字符串表示形式。 |
ToString(Boolean) |
将指定的布尔值转换为其等效的字符串表示形式。 |
ToString(Byte) |
将指定的 8 位无符号整数的值转换为其等效的字符串表示形式。 |
ToString(Char) |
将指定的 Unicode 字符的值转换为其等效的字符串表示形式。 |
ToString(DateTime) |
将指定的 DateTime 的值转换为其等效的字符串表示形式。 |
ToString(Double) |
将指定的双精度浮点数的值转换其等效的字符串表示形式。 |
ToString(Int16) |
将指定的 16 位带符号整数的值转换为其等效的字符串表示形式。 |
ToString(Int32) |
将指定的 32 位带符号整数的值转换为其等效的字符串表示形式。 |
ToString(Decimal) |
将指定的十进制数的值转换为其等效的字符串表示形式。 |
ToString(Object) |
将指定对象的值转换为其等效的字符串表示形式。 |
ToString(SByte) |
将指定的 8 位带符号整数的值转换为其等效的字符串表示形式。 |
ToString(Single) |
将指定的单精度浮点数的值转换其等效的字符串表示形式。 |
ToString(String) |
返回指定的字符串实例;不执行任何实际转换。 |
ToString(UInt16) |
将指定的 16 位无符号整数的值转换为其等效的字符串表示形式。 |
ToString(UInt32) |
将指定的 32 位无符号整数的值转换为其等效的字符串表示形式。 |
ToString(UInt64) |
将指定的 64 位无符号整数的值转换为其等效的字符串表示形式。 |
ToString(Int64) |
将指定的 64 位带符号整数的值转换为其等效的字符串表示形式。 |
ToString(Int32, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
使用指定的区域性特定格式设置信息,将指定的 32 位带符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(int value, IFormatProvider ^ provider);
public static string ToString (int value, IFormatProvider provider);
public static string ToString (int value, IFormatProvider? provider);
static member ToString : int * IFormatProvider -> string
Public Shared Function ToString (value As Integer, provider As IFormatProvider) As String
参数
- value
- Int32
要转换的 32 位带符号整数。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式。
示例
以下示例定义一个自定义 NumberFormatInfo 类,该类将其负号定义为字符串“~”,将正符号定义为字符串“!”。 然后,它调用 方法, ToString(Int32, IFormatProvider) 将整数数组中的每个元素转换为其等效的字符串表示形式。 转换使用固定区域性和自定义 NumberFormatInfo 对象。
int[] numbers = { Int32.MinValue, Int32.MaxValue};
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
foreach (int number in numbers)
Console.WriteLine("{0,-12} --> {1,12}",
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture),
Convert.ToString(number, nfi));
// The example displays the following output:
// -2147483648 --> ~2147483648
// 2147483647 --> 2147483647
let numbers = [| Int32.MinValue; Int32.MaxValue |]
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture),-12} --> {Convert.ToString(number, nfi),12}"
// The example displays the following output:
// -2147483648 --> ~2147483648
// 2147483647 --> 2147483647
Dim numbers() As Integer = { Int32.MinValue, Int32.MaxValue}
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
For Each number As Integer In numbers
Console.WriteLine("{0,-12} --> {1,12}", _
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture), _
Convert.ToString(number, nfi))
Next
' The example displays the following output:
' -2147483648 --> ~2147483648
' 2147483647 --> 2147483647
注解
此实现与 相同 Int32.ToString(IFormatProvider)。
适用于
ToString(Int16, Int32)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将 16 位带符号整数的值转换为其指定基的等效字符串表示形式。
public:
static System::String ^ ToString(short value, int toBase);
public static string ToString (short value, int toBase);
static member ToString : int16 * int -> string
Public Shared Function ToString (value As Short, toBase As Integer) As String
参数
- value
- Int16
要转换的 16 位带符号整数。
- toBase
- Int32
返回值的基数,必须是 2、8、10 或 16。
返回
以 value
为基数的 toBase
的字符串表示形式。
例外
toBase
不是 2、8、10 或 16。
示例
以下示例将 16 位带符号整数数组中的每个元素转换为其等效的二进制、八进制、十进制和十六进制字符串表示形式。
int[] bases = { 2, 8, 10, 16};
short[] numbers = { Int16.MinValue, -13621, -18, 12, 19142, Int16.MaxValue };
foreach (int baseValue in bases)
{
Console.WriteLine("Base {0} conversion:", baseValue);
foreach (short number in numbers)
{
Console.WriteLine(" {0,-8} --> 0x{1}",
number, Convert.ToString(number, baseValue));
}
}
// The example displays the following output:
// Base 2 conversion:
// -32768 --> 0x1000000000000000
// -13621 --> 0x1100101011001011
// -18 --> 0x1111111111101110
// 12 --> 0x1100
// 19142 --> 0x100101011000110
// 32767 --> 0x111111111111111
// Base 8 conversion:
// -32768 --> 0x100000
// -13621 --> 0x145313
// -18 --> 0x177756
// 12 --> 0x14
// 19142 --> 0x45306
// 32767 --> 0x77777
// Base 10 conversion:
// -32768 --> 0x-32768
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 19142 --> 0x19142
// 32767 --> 0x32767
// Base 16 conversion:
// -32768 --> 0x8000
// -13621 --> 0xcacb
// -18 --> 0xffee
// 12 --> 0xc
// 19142 --> 0x4ac6
// 32767 --> 0x7fff
let bases = [| 2; 8; 10; 16 |]
let numbers = [| Int16.MinValue; -13621s; -18s; 12s; 19142s; Int16.MaxValue |]
for baseValue in bases do
printfn $"Base {baseValue} conversion:"
for number in numbers do
printfn $" {number,-8} --> 0x{Convert.ToString(number, baseValue)}"
// The example displays the following output:
// Base 2 conversion:
// -32768 --> 0x1000000000000000
// -13621 --> 0x1100101011001011
// -18 --> 0x1111111111101110
// 12 --> 0x1100
// 19142 --> 0x100101011000110
// 32767 --> 0x111111111111111
// Base 8 conversion:
// -32768 --> 0x100000
// -13621 --> 0x145313
// -18 --> 0x177756
// 12 --> 0x14
// 19142 --> 0x45306
// 32767 --> 0x77777
// Base 10 conversion:
// -32768 --> 0x-32768
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 19142 --> 0x19142
// 32767 --> 0x32767
// Base 16 conversion:
// -32768 --> 0x8000
// -13621 --> 0xcacb
// -18 --> 0xffee
// 12 --> 0xc
// 19142 --> 0x4ac6
// 32767 --> 0x7fff
Dim bases() As Integer = { 2, 8, 10, 16}
Dim numbers() As Short = { Int16.MinValue, -13621, -18, 12, 19142, _
Int16.MaxValue }
For Each base As Integer In bases
Console.WriteLine("Base {0} conversion:", base)
For Each number As Short In numbers
Console.WriteLine(" {0,-8} --> 0x{1}", _
number, Convert.ToString(number, base))
Next
Next
' The example displays the following output:
' Base 2 conversion:
' -32768 --> 0x1000000000000000
' -13621 --> 0x1100101011001011
' -18 --> 0x1111111111101110
' 12 --> 0x1100
' 19142 --> 0x100101011000110
' 32767 --> 0x111111111111111
' Base 8 conversion:
' -32768 --> 0x100000
' -13621 --> 0x145313
' -18 --> 0x177756
' 12 --> 0x14
' 19142 --> 0x45306
' 32767 --> 0x77777
' Base 10 conversion:
' -32768 --> 0x-32768
' -13621 --> 0x-13621
' -18 --> 0x-18
' 12 --> 0x12
' 19142 --> 0x19142
' 32767 --> 0x32767
' Base 16 conversion:
' -32768 --> 0x8000
' -13621 --> 0xcacb
' -18 --> 0xffee
' 12 --> 0xc
' 19142 --> 0x4ac6
' 32767 --> 0x7fff
let bases = [2; 8; 10; 16]
let numbers = [ Int16.MinValue; -13621s; -18s; 12s; 19142s; Int16.MaxValue ]
for baseValue in bases do
printfn "Base %i conversion:" baseValue
for number in numbers do
printfn " % -8i --> 0x%s" number (Convert.ToString (number, baseValue))
// The example displays the following output:
// Base 2 conversion:
// -32768 --> 0x1000000000000000
// -13621 --> 0x1100101011001011
// -18 --> 0x1111111111101110
// 12 --> 0x1100
// 19142 --> 0x100101011000110
// 32767 --> 0x111111111111111
// Base 8 conversion:
// -32768 --> 0x100000
// -13621 --> 0x145313
// -18 --> 0x177756
// 12 --> 0x14
// 19142 --> 0x45306
// 32767 --> 0x77777
// Base 10 conversion:
// -32768 --> 0x-32768
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 19142 --> 0x19142
// 32767 --> 0x32767
// Base 16 conversion:
// -32768 --> 0x8000
// -13621 --> 0xcacb
// -18 --> 0xffee
// 12 --> 0xc
// 19142 --> 0x4ac6
// 32767 --> 0x7fff
注解
如果 value
为正并且 toBase
为 2、8 或 16,则返回的字符串使用符号和数量级表示形式。 如果 value
为负数且 toBase
为 2、8 或 16,则返回的字符串使用二的补数表示形式。 这意味着高阶字节 (位 15) 的高位位被解释为符号位。
ToString(Int16, Int32)如果调用 方法以创建稍后将转换回数字的字符串,则应调用采用类似数值表示形式的相应方法来执行转换。 此类方法包括 Convert.ToInt16(String, Int32) 和 Int16.Parse(String, NumberStyles)。
适用于
ToString(DateTime, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
使用指定的区域性特定格式设置信息将指定的 DateTime 的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(DateTime value, IFormatProvider ^ provider);
public static string ToString (DateTime value, IFormatProvider provider);
public static string ToString (DateTime value, IFormatProvider? provider);
static member ToString : DateTime * IFormatProvider -> string
Public Shared Function ToString (value As DateTime, provider As IFormatProvider) As String
参数
- value
- DateTime
要转换的日期和时间值。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式。
示例
以下示例在八个不同的区域性中将值 DateTime 转换为其等效的字符串表示形式。
// Specify the date to be formatted using various cultures.
DateTime tDate = new DateTime(2010, 4, 15, 20, 30, 40, 333);
// Specify the cultures.
string[] cultureNames = { "en-US", "es-AR", "fr-FR", "hi-IN",
"ja-JP", "nl-NL", "ru-RU", "ur-PK" };
Console.WriteLine("Converting the date {0}: ",
Convert.ToString(tDate,
System.Globalization.CultureInfo.InvariantCulture));
foreach (string cultureName in cultureNames)
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
string dateString = Convert.ToString(tDate, culture);
Console.WriteLine(" {0}: {1,-12}",
culture.Name, dateString);
}
// The example displays the following output:
// Converting the date 04/15/2010 20:30:40:
// en-US: 4/15/2010 8:30:40 PM
// es-AR: 15/04/2010 08:30:40 p.m.
// fr-FR: 15/04/2010 20:30:40
// hi-IN: 15-04-2010 20:30:40
// ja-JP: 2010/04/15 20:30:40
// nl-NL: 15-4-2010 20:30:40
// ru-RU: 15.04.2010 20:30:40
// ur-PK: 15/04/2010 8:30:40 PM
// Specify the date to be formatted using various cultures.
let tDate = DateTime(2010, 4, 15, 20, 30, 40, 333)
// Specify the cultures.
let cultureNames =
[| "en-US"; "es-AR"; "fr-FR"; "hi-IN";
"ja-JP"; "nl-NL"; "ru-RU"; "ur-PK" |]
printfn $"Converting the date {Convert.ToString(tDate, CultureInfo.InvariantCulture)}: "
for cultureName in cultureNames do
let culture = CultureInfo cultureName
let dateString = Convert.ToString(tDate, culture)
printfn $" {culture.Name}: {dateString,-12}"
// The example displays the following output:
// Converting the date 04/15/2010 20:30:40:
// en-US: 4/15/2010 8:30:40 PM
// es-AR: 15/04/2010 08:30:40 p.m.
// fr-FR: 15/04/2010 20:30:40
// hi-IN: 15-04-2010 20:30:40
// ja-JP: 2010/04/15 20:30:40
// nl-NL: 15-4-2010 20:30:40
// ru-RU: 15.04.2010 20:30:40
// ur-PK: 15/04/2010 8:30:40 PM
' Specify the date to be formatted using various cultures.
Dim tDate As New Date(2010, 4, 15, 20, 30, 40, 333)
' Specify the cultures.
Dim cultureNames() As String = { "en-US", "es-AR", "fr-FR", "hi-IN", _
"ja-JP", "nl-NL", "ru-RU", "ur-PK" }
Console.WriteLine("Converting the date {0}: ", _
Convert.ToString(tDate, _
System.Globalization.CultureInfo.InvariantCulture))
For Each cultureName As String In CultureNames
Dim culture As New System.Globalization.CultureInfo(cultureName)
Dim dateString As String = Convert.ToString(tDate, culture)
Console.WriteLine(" {0}: {1,-12}", _
culture.Name, dateString)
Next
' The example displays the following output:
' Converting the date 04/15/2010 20:30:40:
' en-US: 4/15/2010 8:30:40 PM
' es-AR: 15/04/2010 08:30:40 p.m.
' fr-FR: 15/04/2010 20:30:40
' hi-IN: 15-04-2010 20:30:40
' ja-JP: 2010/04/15 20:30:40
' nl-NL: 15-4-2010 20:30:40
' ru-RU: 15.04.2010 20:30:40
' ur-PK: 15/04/2010 8:30:40 PM
注解
此实现与 相同 DateTime.ToString(IFormatProvider)。
适用于
ToString(Double, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定的双精度浮点数的值转换其等效的字符串表示形式。
public:
static System::String ^ ToString(double value, IFormatProvider ^ provider);
public static string ToString (double value, IFormatProvider provider);
public static string ToString (double value, IFormatProvider? provider);
static member ToString : double * IFormatProvider -> string
Public Shared Function ToString (value As Double, provider As IFormatProvider) As String
参数
- value
- Double
要转换的双精度浮点数。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式。
示例
以下示例将值数组 Double 中的每个元素转换为四个不同区域性中的等效字符串表示形式。
// Define an array of numbers to display.
double[] numbers = { -1.5345e16, -123.4321, 19092.123, 1.1734231911290e16 };
// Define the culture names used to display them.
string[] cultureNames = { "en-US", "fr-FR", "ja-JP", "ru-RU" };
foreach (double number in numbers)
{
Console.WriteLine("{0}:", Convert.ToString(number,
System.Globalization.CultureInfo.InvariantCulture));
foreach (string cultureName in cultureNames)
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
Console.WriteLine(" {0}: {1,20}",
culture.Name, Convert.ToString(number, culture));
}
Console.WriteLine();
}
// The example displays the following output:
// -1.5345E+16:
// en-US: -1.5345E+16
// fr-FR: -1,5345E+16
// ja-JP: -1.5345E+16
// ru-RU: -1,5345E+16
//
// -123.4321:
// en-US: -123.4321
// fr-FR: -123,4321
// ja-JP: -123.4321
// ru-RU: -123,4321
//
// 19092.123:
// en-US: 19092.123
// fr-FR: 19092,123
// ja-JP: 19092.123
// ru-RU: 19092,123
//
// 1.173423191129E+16:
// en-US: 1.173423191129E+16
// fr-FR: 1,173423191129E+16
// ja-JP: 1.173423191129E+16
// ru-RU: 1,173423191129E+16
// Define an array of numbers to display.
let numbers = [| -1.5345e16; -123.4321; 19092.123; 1.1734231911290e16 |]
// Define the culture names used to display them.
let cultureNames = [| "en-US"; "fr-FR"; "ja-JP"; "ru-RU" |]
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture)}:"
for cultureName in cultureNames do
let culture = CultureInfo cultureName
printfn " {culture.Name}: {Convert.ToString(number, culture),20}"
printfn ""
// The example displays the following output:
// -1.5345E+16:
// en-US: -1.5345E+16
// fr-FR: -1,5345E+16
// ja-JP: -1.5345E+16
// ru-RU: -1,5345E+16
//
// -123.4321:
// en-US: -123.4321
// fr-FR: -123,4321
// ja-JP: -123.4321
// ru-RU: -123,4321
//
// 19092.123:
// en-US: 19092.123
// fr-FR: 19092,123
// ja-JP: 19092.123
// ru-RU: 19092,123
//
// 1.173423191129E+16:
// en-US: 1.173423191129E+16
// fr-FR: 1,173423191129E+16
// ja-JP: 1.173423191129E+16
// ru-RU: 1,173423191129E+16
' Define an array of numbers to display.
Dim numbers() As Double = { -1.5345e16, -123.4321, 19092.123, _
1.1734231911290e16 }
' Define the culture names used to display them.
Dim cultureNames() As String = { "en-US", "fr-FR", "ja-JP", "ru-RU" }
For Each number As Double In numbers
Console.WriteLine("{0}:", Convert.ToString(number, _
System.Globalization.CultureInfo.InvariantCulture))
For Each cultureName As String In cultureNames
Dim culture As New System.Globalization.CultureInfo(cultureName)
Console.WriteLine(" {0}: {1,20}", _
culture.Name, Convert.ToString(number, culture))
Next
Console.WriteLine()
Next
' The example displays the following output:
' -1.5345E+16:
' en-US: -1.5345E+16
' fr-FR: -1,5345E+16
' ja-JP: -1.5345E+16
' ru-RU: -1,5345E+16
'
' -123.4321:
' en-US: -123.4321
' fr-FR: -123,4321
' ja-JP: -123.4321
' ru-RU: -123,4321
'
' 19092.123:
' en-US: 19092.123
' fr-FR: 19092,123
' ja-JP: 19092.123
' ru-RU: 19092,123
'
' 1.173423191129E+16:
' en-US: 1.173423191129E+16
' fr-FR: 1,173423191129E+16
' ja-JP: 1.173423191129E+16
' ru-RU: 1,173423191129E+16
注解
此实现与 Double.ToString(IFormatProvider)
适用于
ToString(Decimal, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
使用指定的区域性特定格式设置信息将指定的十进制数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::Decimal value, IFormatProvider ^ provider);
public static string ToString (decimal value, IFormatProvider provider);
public static string ToString (decimal value, IFormatProvider? provider);
static member ToString : decimal * IFormatProvider -> string
Public Shared Function ToString (value As Decimal, provider As IFormatProvider) As String
参数
- value
- Decimal
要转换的十进制数。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式。
示例
以下示例将值数组 Decimal 中的每个元素转换为四个不同区域性中的等效字符串表示形式。
// Define an array of numbers to display.
decimal[] numbers = { 1734231911290.16m, -17394.32921m,
3193.23m, 98012368321.684m };
// Define the culture names used to display them.
string[] cultureNames = { "en-US", "fr-FR", "ja-JP", "ru-RU" };
foreach (decimal number in numbers)
{
Console.WriteLine("{0}:", Convert.ToString(number,
System.Globalization.CultureInfo.InvariantCulture));
foreach (string cultureName in cultureNames)
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
Console.WriteLine(" {0}: {1,20}",
culture.Name, Convert.ToString(number, culture));
}
Console.WriteLine();
}
// The example displays the following output:
// 1734231911290.16:
// en-US: 1734231911290.16
// fr-FR: 1734231911290,16
// ja-JP: 1734231911290.16
// ru-RU: 1734231911290,16
//
// -17394.32921:
// en-US: -17394.32921
// fr-FR: -17394,32921
// ja-JP: -17394.32921
// ru-RU: -17394,32921
//
// 3193.23:
// en-US: 3193.23
// fr-FR: 3193,23
// ja-JP: 3193.23
// ru-RU: 3193,23
//
// 98012368321.684:
// en-US: 98012368321.684
// fr-FR: 98012368321,684
// ja-JP: 98012368321.684
// ru-RU: 98012368321,684
// Define an array of numbers to display.
let numbers =
[| 1734231911290.16m; -17394.32921m; 3193.23m; 98012368321.684m |]
// Define the culture names used to display them.
let cultureNames = [| "en-US"; "fr-FR"; "ja-JP"; "ru-RU" |]
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture)}:"
for cultureName in cultureNames do
let culture = CultureInfo cultureName
printfn $" {culture.Name}: {Convert.ToString(number, culture),20}"
printfn ""
// The example displays the following output:
// 1734231911290.16:
// en-US: 1734231911290.16
// fr-FR: 1734231911290,16
// ja-JP: 1734231911290.16
// ru-RU: 1734231911290,16
//
// -17394.32921:
// en-US: -17394.32921
// fr-FR: -17394,32921
// ja-JP: -17394.32921
// ru-RU: -17394,32921
//
// 3193.23:
// en-US: 3193.23
// fr-FR: 3193,23
// ja-JP: 3193.23
// ru-RU: 3193,23
//
// 98012368321.684:
// en-US: 98012368321.684
// fr-FR: 98012368321,684
// ja-JP: 98012368321.684
// ru-RU: 98012368321,684
' Define an array of numbers to display.
Dim numbers() As Decimal = { 1734231911290.16d, -17394.32921d, _
3193.23d, 98012368321.684d }
' Define the culture names used to display them.
Dim cultureNames() As String = { "en-US", "fr-FR", "ja-JP", "ru-RU" }
For Each number As Decimal In numbers
Console.WriteLine("{0}:", Convert.ToString(number, _
System.Globalization.CultureInfo.InvariantCulture))
For Each cultureName As String In cultureNames
Dim culture As New System.Globalization.CultureInfo(cultureName)
Console.WriteLine(" {0}: {1,20}", _
culture.Name, Convert.ToString(number, culture))
Next
Console.WriteLine()
Next
' The example displays the following output:
' 1734231911290.16:
' en-US: 1734231911290.16
' fr-FR: 1734231911290,16
' ja-JP: 1734231911290.16
' ru-RU: 1734231911290,16
'
' -17394.32921:
' en-US: -17394.32921
' fr-FR: -17394,32921
' ja-JP: -17394.32921
' ru-RU: -17394,32921
'
' 3193.23:
' en-US: 3193.23
' fr-FR: 3193,23
' ja-JP: 3193.23
' ru-RU: 3193,23
'
' 98012368321.684:
' en-US: 98012368321.684
' fr-FR: 98012368321,684
' ja-JP: 98012368321.684
' ru-RU: 98012368321,684
注解
此实现与 相同 Decimal.ToString(IFormatProvider)。
适用于
ToString(Int32, Int32)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将 32 位带符号整数的值转换为其指定基的等效字符串表示形式。
public:
static System::String ^ ToString(int value, int toBase);
public static string ToString (int value, int toBase);
static member ToString : int * int -> string
Public Shared Function ToString (value As Integer, toBase As Integer) As String
参数
- value
- Int32
要转换的 32 位带符号整数。
- toBase
- Int32
返回值的基数,必须是 2、8、10 或 16。
返回
以 value
为基数的 toBase
的字符串表示形式。
例外
toBase
不是 2、8、10 或 16。
示例
以下示例将整数数组中的每个元素转换为其等效的二进制、十六进制、十六进制和十六进制字符串表示形式。
int[] bases = { 2, 8, 10, 16};
int[] numbers = { Int32.MinValue, -19327543, -13621, -18, 12,
19142, Int32.MaxValue };
foreach (int baseValue in bases)
{
Console.WriteLine("Base {0} conversion:", baseValue);
foreach (int number in numbers)
{
Console.WriteLine(" {0,-15} --> 0x{1}",
number, Convert.ToString(number, baseValue));
}
}
// The example displays the following output:
// Base 2 conversion:
// -2147483648 --> 0x10000000000000000000000000000000
// -19327543 --> 0x11111110110110010001010111001001
// -13621 --> 0x11111111111111111100101011001011
// -18 --> 0x11111111111111111111111111101110
// 12 --> 0x1100
// 19142 --> 0x100101011000110
// 2147483647 --> 0x1111111111111111111111111111111
// Base 8 conversion:
// -2147483648 --> 0x20000000000
// -19327543 --> 0x37666212711
// -13621 --> 0x37777745313
// -18 --> 0x37777777756
// 12 --> 0x14
// 19142 --> 0x45306
// 2147483647 --> 0x17777777777
// Base 10 conversion:
// -2147483648 --> 0x-2147483648
// -19327543 --> 0x-19327543
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 19142 --> 0x19142
// 2147483647 --> 0x2147483647
// Base 16 conversion:
// -2147483648 --> 0x80000000
// -19327543 --> 0xfed915c9
// -13621 --> 0xffffcacb
// -18 --> 0xffffffee
// 12 --> 0xc
// 19142 --> 0x4ac6
// 2147483647 --> 0x7fffffff
let bases = [| 2; 8; 10; 16 |]
let numbers =
[| Int32.MinValue; -19327543; -13621; -18; 12; 19142; Int32.MaxValue |]
for baseValue in bases do
printfn $"Base {baseValue} conversion:"
for number in numbers do
printfn $" {number,-15} --> 0x{Convert.ToString(number, baseValue)}"
// The example displays the following output:
// Base 2 conversion:
// -2147483648 --> 0x10000000000000000000000000000000
// -19327543 --> 0x11111110110110010001010111001001
// -13621 --> 0x11111111111111111100101011001011
// -18 --> 0x11111111111111111111111111101110
// 12 --> 0x1100
// 19142 --> 0x100101011000110
// 2147483647 --> 0x1111111111111111111111111111111
// Base 8 conversion:
// -2147483648 --> 0x20000000000
// -19327543 --> 0x37666212711
// -13621 --> 0x37777745313
// -18 --> 0x37777777756
// 12 --> 0x14
// 19142 --> 0x45306
// 2147483647 --> 0x17777777777
// Base 10 conversion:
// -2147483648 --> 0x-2147483648
// -19327543 --> 0x-19327543
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 19142 --> 0x19142
// 2147483647 --> 0x2147483647
// Base 16 conversion:
// -2147483648 --> 0x80000000
// -19327543 --> 0xfed915c9
// -13621 --> 0xffffcacb
// -18 --> 0xffffffee
// 12 --> 0xc
// 19142 --> 0x4ac6
// 2147483647 --> 0x7fffffff
Dim bases() As Integer = { 2, 8, 10, 16}
Dim numbers() As Integer = { Int32.MinValue, -19327543, -13621, -18, 12, _
19142, Int32.MaxValue }
For Each base As Integer In bases
Console.WriteLine("Base {0} conversion:", base)
For Each number As Integer In numbers
Console.WriteLine(" {0,-15} --> 0x{1}", _
number, Convert.ToString(number, base))
Next
Next
' The example displays the following output:
' Base 2 conversion:
' -2147483648 --> 0x10000000000000000000000000000000
' -19327543 --> 0x11111110110110010001010111001001
' -13621 --> 0x11111111111111111100101011001011
' -18 --> 0x11111111111111111111111111101110
' 12 --> 0x1100
' 19142 --> 0x100101011000110
' 2147483647 --> 0x1111111111111111111111111111111
' Base 8 conversion:
' -2147483648 --> 0x20000000000
' -19327543 --> 0x37666212711
' -13621 --> 0x37777745313
' -18 --> 0x37777777756
' 12 --> 0x14
' 19142 --> 0x45306
' 2147483647 --> 0x17777777777
' Base 10 conversion:
' -2147483648 --> 0x-2147483648
' -19327543 --> 0x-19327543
' -13621 --> 0x-13621
' -18 --> 0x-18
' 12 --> 0x12
' 19142 --> 0x19142
' 2147483647 --> 0x2147483647
' Base 16 conversion:
' -2147483648 --> 0x80000000
' -19327543 --> 0xfed915c9
' -13621 --> 0xffffcacb
' -18 --> 0xffffffee
' 12 --> 0xc
' 19142 --> 0x4ac6
' 2147483647 --> 0x7fffffff
let bases = [2; 8; 10; 16]
let numbers = [ Int32.MinValue; -19327543; -13621; -18; 12; 19142; Int32.MaxValue ]
for baseValue in bases do
printfn "Base %i conversion:" baseValue
for number in numbers do
printfn " % -15i --> 0x%s" number (Convert.ToString (number, baseValue))
// The example displays the following output:
// Base 2 conversion:
// -2147483648 --> 0x10000000000000000000000000000000
// -19327543 --> 0x11111110110110010001010111001001
// -13621 --> 0x11111111111111111100101011001011
// -18 --> 0x11111111111111111111111111101110
// 12 --> 0x1100
// 19142 --> 0x100101011000110
// 2147483647 --> 0x1111111111111111111111111111111
// Base 8 conversion:
// -2147483648 --> 0x20000000000
// -19327543 --> 0x37666212711
// -13621 --> 0x37777745313
// -18 --> 0x37777777756
// 12 --> 0x14
// 19142 --> 0x45306
// 2147483647 --> 0x17777777777
// Base 10 conversion:
// -2147483648 --> 0x-2147483648
// -19327543 --> 0x-19327543
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 19142 --> 0x19142
// 2147483647 --> 0x2147483647
// Base 16 conversion:
// -2147483648 --> 0x80000000
// -19327543 --> 0xfed915c9
// -13621 --> 0xffffcacb
// -18 --> 0xffffffee
// 12 --> 0xc
// 19142 --> 0x4ac6
// 2147483647 --> 0x7fffffff
注解
如果 value
为正并且 toBase
为 2、8 或 16,则返回的字符串使用符号和数量级表示形式。 如果 value
为负数且 toBase
为 2、8 或 16,则返回的字符串使用二的补数表示形式。 这意味着,最高阶字节 (位 31) 的高位位被解释为符号位。
ToString(Int32, Int32)如果调用 方法以创建稍后将转换回数字的字符串,则应调用采用类似数值表示形式的相应方法来执行转换。 此类方法包括 Convert.ToInt32(String, Int32) 和 Int32.Parse(String, NumberStyles)。
适用于
ToString(Int16, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
使用指定的区域性特定格式设置信息,将指定的 16 位带符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(short value, IFormatProvider ^ provider);
public static string ToString (short value, IFormatProvider provider);
public static string ToString (short value, IFormatProvider? provider);
static member ToString : int16 * IFormatProvider -> string
Public Shared Function ToString (value As Short, provider As IFormatProvider) As String
参数
- value
- Int16
要转换的 16 位带符号整数。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式。
示例
以下示例定义一个自定义 NumberFormatInfo 类,该类将其负号定义为字符串“~”,将正符号定义为字符串“!”。 然后,它调用 方法, ToString(Int16, IFormatProvider) 将 16 位整数数组中的每个元素转换为其等效的字符串表示形式。 转换使用固定区域性和自定义 NumberFormatInfo 对象。
short[] numbers = { Int16.MinValue, Int16.MaxValue};
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
foreach (short number in numbers)
Console.WriteLine("{0,-8} --> {1,8}",
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture),
Convert.ToString(number, nfi));
// The example displays the following output:
// -32768 --> ~32768
// 32767 --> 32767
let numbers = [| Int16.MinValue; Int16.MaxValue |]
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture),-8} --> {Convert.ToString(number, nfi),8}"
// The example displays the following output:
// -32768 --> ~32768
// 32767 --> 32767
Dim numbers() As Short = { Int16.MinValue, Int16.MaxValue}
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
For Each number As Short In numbers
Console.WriteLine("{0,-8} --> {1,8}", _
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture), _
Convert.ToString(number, nfi))
Next
' The example displays the following output:
' -32768 --> ~32768
' 32767 --> 32767
注解
此实现与 相同 Int16.ToString(IFormatProvider)。
适用于
ToString(Int64, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
使用指定的区域性特定格式设置信息,将指定的 64 位带符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(long value, IFormatProvider ^ provider);
public static string ToString (long value, IFormatProvider provider);
public static string ToString (long value, IFormatProvider? provider);
static member ToString : int64 * IFormatProvider -> string
Public Shared Function ToString (value As Long, provider As IFormatProvider) As String
参数
- value
- Int64
要转换的 64 位带符号整数。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式。
示例
以下示例定义一个自定义 NumberFormatInfo 类,该类将其负号定义为字符串“~”,将正符号定义为字符串“!”。 然后,它调用 方法, ToString(Int64, IFormatProvider) 将长整型数组中的每个元素转换为其等效的字符串表示形式。 转换使用固定区域性和自定义 NumberFormatInfo 对象。
long[] numbers = { ((long) Int32.MinValue) * 2, ((long) Int32.MaxValue) * 2};
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
foreach (long number in numbers)
Console.WriteLine("{0,-12} --> {1,12}",
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture),
Convert.ToString(number, nfi));
// The example displays the following output:
// -4294967296 --> ~4294967296
// 4294967294 --> 4294967294
let numbers = [| (int64 Int32.MinValue) * 2L; (int64 Int32.MaxValue) * 2L |]
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture),-12} --> {Convert.ToString(number, nfi),12}"
// The example displays the following output:
// -4294967296 --> ~4294967296
// 4294967294 --> 4294967294
Dim numbers() As Long = { CLng(Int32.MinValue) * 2, CLng(Int32.MaxValue) * 2 }
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
For Each number As Long In numbers
Console.WriteLine("{0,-12} --> {1,12}", _
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture), _
Convert.ToString(number, nfi))
Next
' The example displays the following output:
' -4294967296 --> ~4294967296
' 4294967294 --> 4294967294
注解
此实现与 相同 Int64.ToString(IFormatProvider)。
适用于
ToString(Single, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
使用指定的区域性特定格式设置信息,将指定的单精度浮点数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(float value, IFormatProvider ^ provider);
public static string ToString (float value, IFormatProvider provider);
public static string ToString (float value, IFormatProvider? provider);
static member ToString : single * IFormatProvider -> string
Public Shared Function ToString (value As Single, provider As IFormatProvider) As String
参数
- value
- Single
要转换的单精度浮点数。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式。
示例
以下示例将值数组 Single 中的每个元素转换为四个不同区域性中的等效字符串表示形式。
// Define an array of numbers to display.
float[] numbers = { -1.5345e16f, -123.4321f, 19092.123f, 1.1734231911290e16f };
// Define the culture names used to display them.
string[] cultureNames = { "en-US", "fr-FR", "ja-JP", "ru-RU" };
foreach (float number in numbers)
{
Console.WriteLine("{0}:", Convert.ToString(number,
System.Globalization.CultureInfo.InvariantCulture));
foreach (string cultureName in cultureNames)
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
Console.WriteLine(" {0}: {1,20}",
culture.Name, Convert.ToString(number, culture));
}
Console.WriteLine();
}
// The example displays the following output:
// -1.5345E+16:
// en-US: -1.5345E+16
// fr-FR: -1,5345E+16
// ja-JP: -1.5345E+16
// ru-RU: -1,5345E+16
//
// -123.4321:
// en-US: -123.4321
// fr-FR: -123,4321
// ja-JP: -123.4321
// ru-RU: -123,4321
//
// 19092.123:
// en-US: 19092.123
// fr-FR: 19092,123
// ja-JP: 19092.123
// ru-RU: 19092,123
//
// 1.173423191129E+16:
// en-US: 1.173423191129E+16
// fr-FR: 1,173423191129E+16
// ja-JP: 1.173423191129E+16
// ru-RU: 1,173423191129E+16
// Define an array of numbers to display.
let numbers = [| -1.5345e16f; -123.4321f; 19092.123f; 1.1734231911290e16f |]
// Define the culture names used to display them.
let cultureNames = [| "en-US"; "fr-FR"; "ja-JP"; "ru-RU" |]
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture)}:"
for cultureName in cultureNames do
let culture = CultureInfo cultureName
printfn $" {culture.Name}: {Convert.ToString(number, culture),20}"
printfn ""
// The example displays the following output:
// -1.5345E+16:
// en-US: -1.5345E+16
// fr-FR: -1,5345E+16
// ja-JP: -1.5345E+16
// ru-RU: -1,5345E+16
//
// -123.4321:
// en-US: -123.4321
// fr-FR: -123,4321
// ja-JP: -123.4321
// ru-RU: -123,4321
//
// 19092.123:
// en-US: 19092.123
// fr-FR: 19092,123
// ja-JP: 19092.123
// ru-RU: 19092,123
//
// 1.173423191129E+16:
// en-US: 1.173423191129E+16
// fr-FR: 1,173423191129E+16
// ja-JP: 1.173423191129E+16
// ru-RU: 1,173423191129E+16
' Define an array of numbers to display.
Dim numbers() As Single = { -1.5345e16, -123.4321, 19092.123, _
1.1734231911290e16 }
' Define the culture names used to display them.
Dim cultureNames() As String = { "en-US", "fr-FR", "ja-JP", "ru-RU" }
For Each number As Single In numbers
Console.WriteLine("{0}:", Convert.ToString(number, _
System.Globalization.CultureInfo.InvariantCulture))
For Each cultureName As String In cultureNames
Dim culture As New System.Globalization.CultureInfo(cultureName)
Console.WriteLine(" {0}: {1,20}", _
culture.Name, Convert.ToString(number, culture))
Next
Console.WriteLine()
Next
' The example displays the following output:
' -1.5345E+16:
' en-US: -1.5345E+16
' fr-FR: -1,5345E+16
' ja-JP: -1.5345E+16
' ru-RU: -1,5345E+16
'
' -123.4321:
' en-US: -123.4321
' fr-FR: -123,4321
' ja-JP: -123.4321
' ru-RU: -123,4321
'
' 19092.123:
' en-US: 19092.123
' fr-FR: 19092,123
' ja-JP: 19092.123
' ru-RU: 19092,123
'
' 1.173423191129E+16:
' en-US: 1.173423191129E+16
' fr-FR: 1,173423191129E+16
' ja-JP: 1.173423191129E+16
' ru-RU: 1,173423191129E+16
注解
此实现与 相同 Single.ToString(IFormatProvider)。
适用于
ToString(Object, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
使用指定的区域性特定格式设置信息将指定对象的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::Object ^ value, IFormatProvider ^ provider);
public static string ToString (object value, IFormatProvider provider);
public static string? ToString (object? value, IFormatProvider? provider);
static member ToString : obj * IFormatProvider -> string
Public Shared Function ToString (value As Object, provider As IFormatProvider) As String
参数
- value
- Object
一个对象,用于提供要转换的值,或 null
。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式;如果 Empty 是一个值为 value
的对象,则为 null
。 如果 value
为 null
,则此方法返回 null
。
示例
下面的示例定义了一个 Temperature
类,该类替代 Object.ToString 方法,但不实现 IConvertible 接口。 该示例演示了如何调用 Convert.ToString(Object, IFormatProvider) 方法,进而调用 Temperature.ToString
方法。
using System;
public class Temperature
{
private decimal m_Temp;
public Temperature(decimal temperature)
{
this.m_Temp = temperature;
}
public decimal Celsius
{
get { return this.m_Temp; }
}
public decimal Kelvin
{
get { return this.m_Temp + 273.15m; }
}
public decimal Fahrenheit
{
get { return Math.Round((decimal) (this.m_Temp * 9 / 5 + 32), 2); }
}
public override string ToString()
{
return m_Temp.ToString("N2") + " °C";
}
}
public class Example
{
public static void Main()
{
Temperature cold = new Temperature(-40);
Temperature freezing = new Temperature(0);
Temperature boiling = new Temperature(100);
Console.WriteLine(Convert.ToString(cold, null));
Console.WriteLine(Convert.ToString(freezing, null));
Console.WriteLine(Convert.ToString(boiling, null));
}
}
// The example dosplays the following output:
// -40.00 °C
// 0.00 °C
// 100.00 °C
open System
type Temperature(temperature: decimal) =
member _.Celsius =
temperature
member _.Kelvin =
temperature + 273.15m
member _.Fahrenheit =
Math.Round(temperature * 9m / 5m + 32m |> decimal, 2)
override _.ToString() =
temperature.ToString("N2") + " °C"
let cold = Temperature -40
let freezing = Temperature 0
let boiling = Temperature 100
printfn $"{Convert.ToString(cold, null)}"
printfn $"{Convert.ToString(freezing, null)}"
printfn $"{Convert.ToString(boiling, null)}"
// The example dosplays the following output:
// -40.00 °C
// 0.00 °C
// 100.00 °C
Public Class Temperature
Private m_Temp As Decimal
Public Sub New(temperature As Decimal)
Me.m_Temp = temperature
End Sub
Public ReadOnly Property Celsius() As Decimal
Get
Return Me.m_Temp
End Get
End Property
Public ReadOnly Property Kelvin() As Decimal
Get
Return Me.m_Temp + 273.15d
End Get
End Property
Public ReadOnly Property Fahrenheit() As Decimal
Get
Return Math.Round(CDec(Me.m_Temp * 9 / 5 + 32), 2)
End Get
End Property
Public Overrides Function ToString() As String
Return m_Temp.ToString("N2") & " °C"
End Function
End Class
Module Example
Public Sub Main()
Dim cold As New Temperature(-40)
Dim freezing As New Temperature(0)
Dim boiling As New Temperature(100)
Console.WriteLine(Convert.ToString(cold, Nothing))
Console.WriteLine(Convert.ToString(freezing, Nothing))
Console.WriteLine(Convert.ToString(boiling, Nothing))
End Sub
End Module
' The example displays the following output:
' -40.00 °C
' 0.00 °C
' 100.00 °C
下面的示例定义了一个 Temperature
实现 IFormattable 接口但不实现 接口的 IConvertible 类。 其 IFormattable.ToString 实现表示 Temperature
以摄氏度、华氏度或开氏度为单位的值,具体取决于格式字符串。 该示例还定义了一个TemperatureProvider
类,该类实现IFormatProvider并提供由 类的Temperature
实现使用的IFormattable随机生成的格式字符串。
using System;
public class Temperature : IFormattable
{
private decimal m_Temp;
public Temperature(decimal temperature)
{
this.m_Temp = temperature;
}
public decimal Celsius
{ get { return this.m_Temp; } }
public decimal Kelvin
{ get { return this.m_Temp + 273.15m; } }
public decimal Fahrenheit
{ get { return Math.Round(this.m_Temp * 9m / 5m + 32m, 2); } }
public override String ToString()
{
return ToString("G", null);
}
public String ToString(String fmt, IFormatProvider provider)
{
TemperatureProvider formatter = null;
if (provider != null)
formatter = provider.GetFormat(typeof(TemperatureProvider))
as TemperatureProvider;
if (String.IsNullOrWhiteSpace(fmt)) {
if (formatter != null)
fmt = formatter.Format;
else
fmt = "G";
}
switch (fmt.ToUpper()) {
case "G":
case "C":
return m_Temp.ToString("N2") + " °C";
case "F":
return Fahrenheit.ToString("N2") + " °F";
case "K":
return Kelvin.ToString("N2") + " K";
default:
throw new FormatException(String.Format("'{0}' is not a valid format specifier.", fmt));
}
}
}
public class TemperatureProvider : IFormatProvider
{
private String[] fmtStrings = { "C", "G", "F", "K" };
private Random rnd = new Random();
public Object GetFormat(Type formatType)
{
return this;
}
public String Format
{ get { return fmtStrings[rnd.Next(0, fmtStrings.Length)]; } }
}
public class Example
{
public static void Main()
{
Temperature cold = new Temperature (-40);
Temperature freezing = new Temperature (0);
Temperature boiling = new Temperature (100);
TemperatureProvider tp = new TemperatureProvider();
Console.WriteLine(Convert.ToString(cold, tp));
Console.WriteLine(Convert.ToString(freezing, tp));
Console.WriteLine(Convert.ToString(boiling, tp));
}
}
// The example displays output like the following:
// -40.00 °C
// 273.15 K
// 100.00 °C
open System
[<AllowNullLiteral>]
type TemperatureProvider() =
let fmtStrings = [| "C"; "G"; "F"; "K" |]
let rnd = Random()
member _.Format =
fmtStrings[rnd.Next(0, fmtStrings.Length)]
interface IFormatProvider with
member this.GetFormat(formatType: Type) =
this
type Temperature(temperature: decimal) =
member _.Celsius =
temperature
member _.Kelvin =
temperature + 273.15m
member _.Fahrenheit =
Math.Round(temperature * 9m / 5m + 32m, 2)
override this.ToString() =
this.ToString("G", null)
member this.ToString(fmt: string, provider: IFormatProvider) =
let formatter =
match provider with
| null -> null
| _ ->
match provider.GetFormat typeof<TemperatureProvider> with
| :? TemperatureProvider as x -> x
| _ -> null
let fmt =
if String.IsNullOrWhiteSpace fmt then
if formatter <> null then
formatter.Format
else
"G"
else fmt
match fmt.ToUpper() with
| "G"
| "C" ->
$"{temperature:N2} °C"
| "F" ->
$"{this.Fahrenheit:N2} °F"
| "K" ->
$"{this.Kelvin:N2} K"
| _ ->
raise (FormatException $"'{fmt}' is not a valid format specifier.")
let cold = Temperature -40
let freezing = Temperature 0
let boiling = Temperature 100
let tp = TemperatureProvider()
printfn $"{Convert.ToString(cold, tp)}"
printfn $"{Convert.ToString(freezing, tp)}"
printfn $"{Convert.ToString(boiling, tp)}"
// The example displays output like the following:
// -40.00 °C
// 273.15 K
// 100.00 °C
Public Class Temperature : Implements IFormattable
Private m_Temp As Decimal
Public Sub New(temperature As Decimal)
Me.m_Temp = temperature
End Sub
Public ReadOnly Property Celsius As Decimal
Get
Return Me.m_Temp
End Get
End Property
Public ReadOnly Property Kelvin As Decimal
Get
Return Me.m_Temp + 273.15d
End Get
End Property
Public ReadOnly Property Fahrenheit As Decimal
Get
Return Math.Round(CDec(Me.m_Temp * 9 / 5 + 32), 2)
End Get
End Property
Public Overrides Function ToString() As String
Return ToString("G", Nothing)
End Function
Public Overloads Function ToString(fmt As String,
provider As IFormatProvider) As String _
Implements IFormattable.ToString
Dim formatter As TemperatureProvider = Nothing
If provider IsNot Nothing Then formatter = TryCast(provider.GetFormat(GetType(TemperatureProvider)),
TemperatureProvider)
If String.IsNullOrWhiteSpace(fmt) Then
If formatter IsNot Nothing Then
fmt = formatter.Format
Else
fmt = "G"
End If
End If
Select Case fmt.ToUpper()
Case "G", "C"
Return m_Temp.ToString("N2") & " °C"
Case "F"
Return Fahrenheit.ToString("N2") + " °F"
Case "K"
Return Kelvin.ToString("N2") + " K"
Case Else
Throw New FormatException(String.Format("'{0}' is not a valid format specifier.", fmt))
End Select
End Function
End Class
Public Class TemperatureProvider : Implements IFormatProvider
Private fmtStrings() As String = { "C", "G", "F", "K" }
Private rnd As New Random()
Public Function GetFormat(formatType As Type) As Object _
Implements IFormatProvider.GetFormat
Return Me
End Function
Public ReadOnly Property Format As String
Get
Return fmtStrings(rnd.Next(0, fmtStrings.Length))
End Get
End Property
End Class
Module Example
Public Sub Main()
Dim cold As New Temperature(-40)
Dim freezing As New Temperature(0)
Dim boiling As New Temperature(100)
Dim tp As New TemperatureProvider()
Console.WriteLine(Convert.ToString(cold, tp))
Console.WriteLine(Convert.ToString(freezing, tp))
Console.WriteLine(Convert.ToString(boiling, tp))
End Sub
End Module
' The example displays output like the following:
' -40.00 °C
' 273.15 K
' 100.00 °C
注解
value
如果 参数实现 IConvertible 接口,该方法将调用 IConvertible.ToString(IFormatProvider) 的value
实现。 否则,如果 value
参数实现 IFormattable 接口,该方法将调用其 IFormattable.ToString(String, IFormatProvider) 实现。 如果 value
两个接口均未实现,则该方法调用 value
参数的 ToString()
方法,并忽略 参数 provider
。
provider
如果 value
参数实现 或 IFormattable 接口,IConvertible则使用 参数。 参数的 provider
最常见用途是指定 转换 value
中使用的特定于区域性的信息。 例如,如果 value
参数是负十进制数,则 provider
参数可以提供有关用于负号和小数分隔符的表示法的区域性特定信息。 下一部分中的第二个示例演示了不提供区分区域性的格式设置信息的格式提供程序。
适用于
ToString(SByte, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
重要
此 API 不符合 CLS。
使用指定的区域性特定格式设置信息,将指定的 8 位带符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::SByte value, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static string ToString (sbyte value, IFormatProvider provider);
[System.CLSCompliant(false)]
public static string ToString (sbyte value, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member ToString : sbyte * IFormatProvider -> string
Public Shared Function ToString (value As SByte, provider As IFormatProvider) As String
参数
- value
- SByte
要转换的 8 位带符号整数。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式。
- 属性
示例
以下示例定义一个自定义 NumberFormatInfo 类,该类将其负号定义为字符串“~”,将正符号定义为字符串“!”。 然后,它调用 方法, Convert.ToString(SByte, IFormatProvider) 将有符号字节数组中的每个元素转换为其等效的字符串表示形式。 转换使用固定区域性和自定义 NumberFormatInfo 对象。
sbyte[] numbers = { SByte.MinValue, -12, 17, SByte.MaxValue};
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
foreach (sbyte number in numbers)
Console.WriteLine(Convert.ToString(number, nfi));
// The example displays the following output:
// ~128
// ~12
// 17
// 127
let numbers = [| SByte.MinValue; -12y; 17y; SByte.MaxValue |]
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
for number in numbers do
printfn $"{Convert.ToString(number, nfi)}"
// The example displays the following output:
// ~128
// ~12
// 17
// 127
Dim numbers() As SByte = { SByte.MinValue, -12, 17, SByte.MaxValue}
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
For Each number As SByte In numbers
Console.WriteLine(Convert.ToString(number, nfi))
Next
' The example displays the following output:
' ~128
' ~12
' 17
' 127
注解
此实现与 相同 SByte.ToString(IFormatProvider)。
适用于
ToString(String, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
返回指定的字符串实例;不执行任何实际转换。
public:
static System::String ^ ToString(System::String ^ value, IFormatProvider ^ provider);
public static string? ToString (string? value, IFormatProvider? provider);
public static string ToString (string value, IFormatProvider provider);
static member ToString : string * IFormatProvider -> string
Public Shared Function ToString (value As String, provider As IFormatProvider) As String
参数
- value
- String
要返回的字符串。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。 忽略此参数。
返回
不经更改即返回 value
。
示例
以下示例使用 String 参数调用 ToString
方法。 方法返回未修改 String 的 ,而不引用 对象 IFormatProvider 。
// Example of Convert::ToString( non-numeric types, IFormatProvider ).
using namespace System;
using namespace System::Globalization;
#define null (Object^)0
// An instance of this class can be passed to methods that require
// an IFormatProvider.
ref class DummyProvider: public IFormatProvider
{
public:
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
virtual Object^ GetFormat( Type^ argType )
{
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
Console::Write( "{0,-40}", argType->ToString() );
return null;
}
};
int main()
{
// Create an instance of the IFormatProvider.
DummyProvider^ provider = gcnew DummyProvider;
String^ converted;
// Convert these values using DummyProvider.
int Int32A = -252645135;
double DoubleA = 61680.3855;
Object^ ObjDouble = -98765.4321;
DateTime DayTimeA = DateTime(2001,9,11,13,45,0);
bool BoolA = true;
String^ StringA = "Qwerty";
Char CharA = '$';
TimeSpan TSpanA = TimeSpan(0,18,0);
Object^ ObjOther = static_cast<Object^>(provider);
Console::WriteLine( "This example of "
"Convert::ToString( non-numeric, IFormatProvider* ) \n"
"generates the following output. The provider type, "
"argument type, \nand argument value are displayed." );
Console::WriteLine( "\nNote: The IFormatProvider object is "
"not called for Boolean, String, \nChar, TimeSpan, "
"and non-numeric Object." );
// The format provider is called for these conversions.
Console::WriteLine();
converted = Convert::ToString( Int32A, provider );
Console::WriteLine( "int {0}", converted );
converted = Convert::ToString( DoubleA, provider );
Console::WriteLine( "double {0}", converted );
converted = Convert::ToString( ObjDouble, provider );
Console::WriteLine( "Object {0}", converted );
converted = Convert::ToString( DayTimeA, provider );
Console::WriteLine( "DateTime {0}", converted );
// The format provider is not called for these conversions.
Console::WriteLine();
converted = Convert::ToString( BoolA, provider );
Console::WriteLine( "bool {0}", converted );
converted = Convert::ToString( StringA, provider );
Console::WriteLine( "String {0}", converted );
converted = Convert::ToString( CharA, provider );
Console::WriteLine( "Char {0}", converted );
converted = Convert::ToString( TSpanA, provider );
Console::WriteLine( "TimeSpan {0}", converted );
converted = Convert::ToString( ObjOther, provider );
Console::WriteLine( "Object {0}", converted );
}
/*
This example of Convert::ToString( non-numeric, IFormatProvider* )
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.
System.Globalization.NumberFormatInfo int -252645135
System.Globalization.NumberFormatInfo double 61680.3855
System.Globalization.NumberFormatInfo Object -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
bool True
String Qwerty
Char $
TimeSpan 00:18:00
Object DummyProvider
*/
// Example of Convert.ToString( non-numeric types, IFormatProvider ).
using System;
using System.Globalization;
// An instance of this class can be passed to methods that require
// an IFormatProvider.
public class DummyProvider : IFormatProvider
{
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
public object GetFormat( Type argType )
{
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
Console.Write( "{0,-40}", argType.ToString( ) );
return null;
}
}
class ConvertNonNumericProviderDemo
{
static void Main( )
{
// Create an instance of the IFormatProvider.
DummyProvider provider = new DummyProvider( );
string converted;
// Convert these values using DummyProvider.
int Int32A = -252645135;
double DoubleA = 61680.3855;
object ObjDouble = (object)( -98765.4321 );
DateTime DayTimeA = new DateTime( 2001, 9, 11, 13, 45, 0 );
bool BoolA = true;
string StringA = "Qwerty";
char CharA = '$';
TimeSpan TSpanA = new TimeSpan( 0, 18, 0 );
object ObjOther = (object)provider;
Console.WriteLine( "This example of " +
"Convert.ToString( non-numeric, IFormatProvider ) \n" +
"generates the following output. The provider type, " +
"argument type, \nand argument value are displayed." );
Console.WriteLine( "\nNote: The IFormatProvider object is " +
"not called for Boolean, String, \nChar, TimeSpan, " +
"and non-numeric Object." );
// The format provider is called for these conversions.
Console.WriteLine( );
converted = Convert.ToString( Int32A, provider );
Console.WriteLine( "int {0}", converted );
converted = Convert.ToString( DoubleA, provider );
Console.WriteLine( "double {0}", converted );
converted = Convert.ToString( ObjDouble, provider );
Console.WriteLine( "object {0}", converted );
converted = Convert.ToString( DayTimeA, provider );
Console.WriteLine( "DateTime {0}", converted );
// The format provider is not called for these conversions.
Console.WriteLine( );
converted = Convert.ToString( BoolA, provider );
Console.WriteLine( "bool {0}", converted );
converted = Convert.ToString( StringA, provider );
Console.WriteLine( "string {0}", converted );
converted = Convert.ToString( CharA, provider );
Console.WriteLine( "char {0}", converted );
converted = Convert.ToString( TSpanA, provider );
Console.WriteLine( "TimeSpan {0}", converted );
converted = Convert.ToString( ObjOther, provider );
Console.WriteLine( "object {0}", converted );
}
}
/*
This example of Convert.ToString( non-numeric, IFormatProvider )
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.
System.Globalization.NumberFormatInfo int -252645135
System.Globalization.NumberFormatInfo double 61680.3855
System.Globalization.NumberFormatInfo object -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
bool True
string Qwerty
char $
TimeSpan 00:18:00
object DummyProvider
*/
// Example of Convert.ToString(non-numeric types, IFormatProvider).
open System
open System.Globalization
// Create an instance of the IFormatProvider with an object expression.
let provider =
{ new IFormatProvider with
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
member _.GetFormat(argType: Type) =
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
printf $"{argType,-40}"
null
}
// Convert these values using DummyProvider.
let Int32A = -252645135
let DoubleA = 61680.3855
let ObjDouble = -98765.4321 :> obj
let DayTimeA = DateTime(2001, 9, 11, 13, 45, 0)
let BoolA = true
let StringA = "Qwerty"
let CharA = '$'
let TSpanA = TimeSpan(0, 18, 0)
let ObjOther = provider :> obj
[<EntryPoint>]
let main _ =
printfn
"""This example of Convert.ToString(non-numeric, IFormatProvider)
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object."""
// The format provider is called for these conversions.
printfn ""
let converted = Convert.ToString(Int32A, provider)
printfn $"int {converted}"
let converted = Convert.ToString(DoubleA, provider)
printfn $"double {converted}"
let converted = Convert.ToString(ObjDouble, provider)
printfn $"object {converted}"
let converted = Convert.ToString(DayTimeA, provider)
printfn $"DateTime {converted}"
// The format provider is not called for these conversions.
printfn ""
let converted = Convert.ToString(BoolA, provider)
printfn $"bool {converted}"
let converted = Convert.ToString(StringA, provider)
printfn $"string {converted}"
let converted = Convert.ToString(CharA, provider)
printfn $"char {converted}"
let converted = Convert.ToString(TSpanA, provider)
printfn $"TimeSpan {converted}"
let converted = Convert.ToString(ObjOther, provider)
printfn $"object {converted}"
0
// This example of Convert.ToString(non-numeric, IFormatProvider)
// generates the following output. The provider type, argument type,
// and argument value are displayed.
//
// Note: The IFormatProvider object is not called for Boolean, String,
// Char, TimeSpan, and non-numeric Object.
//
// System.Globalization.NumberFormatInfo int -252645135
// System.Globalization.NumberFormatInfo double 61680.3855
// System.Globalization.NumberFormatInfo object -98765.4321
// System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
//
// bool True
// string Qwerty
// char $
// TimeSpan 00:18:00
// object DummyProvider
' Example of Convert.ToString( non-numeric types, IFormatProvider ).
Imports System.Globalization
' An instance of this class can be passed to methods that require
' an IFormatProvider.
Public Class DummyProvider
Implements IFormatProvider
' Normally, GetFormat returns an object of the requested type
' (usually itself) if it is able; otherwise, it returns Nothing.
Public Function GetFormat( argType As Type ) As Object _
Implements IFormatProvider.GetFormat
' Here, the type of argType is displayed, and GetFormat
' always returns Nothing.
Console.Write( "{0,-40}", argType.ToString( ) )
Return Nothing
End Function
End Class
Module ConvertNonNumericProviderDemo
Sub Main( )
' Create an instance of the IFormatProvider.
Dim provider As New DummyProvider( )
Dim converted As String
' Convert these values using DummyProvider.
Dim Int32A As Integer = -252645135
Dim DoubleA As Double = 61680.3855
Dim ObjDouble As Object = CType( -98765.4321, Object )
Dim DayTimeA As DateTime = _
new DateTime( 2001, 9, 11, 13, 45, 0 )
Dim BoolA As Boolean = True
Dim StringA As String = "Qwerty"
Dim CharA As Char = "$"c
Dim TSpanA As TimeSpan = New TimeSpan( 0, 18, 0 )
Dim ObjOther As Object = CType( provider, Object )
Console.WriteLine( "This example of " & _
"Convert.ToString( non-numeric, IFormatProvider ) " & _
vbCrLf & "generates the following output. The " & _
"provider type, argument type, " & vbCrLf & "and " & _
"argument value are displayed." )
Console.WriteLine( vbCrLf & _
"Note: The IFormatProvider object is not called for " & _
"Boolean, String, " & vbCrLf & "Char, TimeSpan, " & _
"and non-numeric Object." )
' The format provider is called for these conversions.
Console.WriteLine( )
converted = Convert.ToString( Int32A, provider )
Console.WriteLine( "Int32 {0}", converted )
converted = Convert.ToString( DoubleA, provider )
Console.WriteLine( "Double {0}", converted )
converted = Convert.ToString( ObjDouble, provider )
Console.WriteLine( "Object {0}", converted )
converted = Convert.ToString( DayTimeA, provider )
Console.WriteLine( "DateTime {0}", converted )
' The format provider is not called for these conversions.
Console.WriteLine( )
converted = Convert.ToString( BoolA, provider )
Console.WriteLine( "Boolean {0}", converted )
converted = Convert.ToString( StringA, provider )
Console.WriteLine( "String {0}", converted )
converted = Convert.ToString( CharA, provider )
Console.WriteLine( "Char {0}", converted )
converted = Convert.ToString( TSpanA, provider )
Console.WriteLine( "TimeSpan {0}", converted )
converted = Convert.ToString( ObjOther, provider )
Console.WriteLine( "Object {0}", converted )
End Sub
End Module
' This example of Convert.ToString( non-numeric, IFormatProvider )
' generates the following output. The provider type, argument type,
' and argument value are displayed.
'
' Note: The IFormatProvider object is not called for Boolean, String,
' Char, TimeSpan, and non-numeric Object.
'
' System.Globalization.NumberFormatInfo Int32 -252645135
' System.Globalization.NumberFormatInfo Double 61680.3855
' System.Globalization.NumberFormatInfo Object -98765.4321
' System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
'
' Boolean True
' String Qwerty
' Char $
' TimeSpan 00:18:00
' Object DummyProvider
适用于
ToString(UInt16, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
重要
此 API 不符合 CLS。
使用指定的区域性特定格式设置信息,将指定的 16 位无符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::UInt16 value, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static string ToString (ushort value, IFormatProvider provider);
[System.CLSCompliant(false)]
public static string ToString (ushort value, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member ToString : uint16 * IFormatProvider -> string
Public Shared Function ToString (value As UShort, provider As IFormatProvider) As String
参数
- value
- UInt16
要转换的 16 位无符号整数。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式。
- 属性
示例
以下示例定义一个自定义 NumberFormatInfo 类,该类将其负号定义为字符串“~”,将正符号定义为字符串“!”。 然后,它调用 方法, ToString(UInt16, IFormatProvider) 将 16 位无符号整数值转换为其等效的字符串表示形式。 转换同时使用固定区域性和自定义 NumberFormatInfo 对象。 输出指示未使用此格式设置信息,因为默认情况下,“G”格式说明符不包含具有正值的正号。
ushort number = UInt16.MaxValue;
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
Console.WriteLine("{0,-6} --> {1,6}",
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture),
Convert.ToString(number, nfi));
// The example displays the following output:
// 65535 --> 65535
let number = UInt16.MaxValue
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture),-6} --> {Convert.ToString(number, nfi),6}"
// The example displays the following output:
// 65535 --> 65535
Dim number As UShort = UInt16.MaxValue
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
Console.WriteLine("{0,-6} --> {1,6}", _
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture), _
Convert.ToString(number, nfi))
' The example displays the following output:
' 65535 --> 65535
注解
此实现与 相同 UInt16.ToString(IFormatProvider)。
适用于
ToString(UInt32, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
重要
此 API 不符合 CLS。
使用指定的区域性特定格式设置信息,将指定的 32 位无符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::UInt32 value, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static string ToString (uint value, IFormatProvider provider);
[System.CLSCompliant(false)]
public static string ToString (uint value, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member ToString : uint32 * IFormatProvider -> string
Public Shared Function ToString (value As UInteger, provider As IFormatProvider) As String
参数
- value
- UInt32
要转换的 32 位无符号整数。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式。
- 属性
示例
以下示例定义一个自定义 NumberFormatInfo 类,该类将其负号定义为字符串“~”,将正符号定义为字符串“!”。 然后,它调用 方法, ToString(UInt32, IFormatProvider) 将无符号整数值转换为其等效的字符串表示形式。 转换同时使用固定区域性和自定义 NumberFormatInfo 对象。 输出指示未使用此格式设置信息,因为默认情况下,“G”格式说明符不包含具有正值的正号。
uint number = UInt32.MaxValue;
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
Console.WriteLine("{0,-8} --> {1,8}",
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture),
Convert.ToString(number, nfi));
// The example displays the following output:
// 4294967295 --> 4294967295
let number = UInt32.MaxValue
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture),-8} --> {Convert.ToString(number, nfi),8}"
// The example displays the following output:
// 4294967295 --> 4294967295
Dim number As UInteger = UInt32.MaxValue
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
Console.WriteLine("{0,-8} --> {1,8}", _
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture), _
Convert.ToString(number, nfi))
' The example displays the following output:
' 4294967295 --> 4294967295
注解
此实现与 相同 UInt32.ToString(IFormatProvider)。
适用于
ToString(UInt64, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
重要
此 API 不符合 CLS。
使用指定的区域性特定格式设置信息,将指定的 64 位无符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::UInt64 value, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static string ToString (ulong value, IFormatProvider provider);
[System.CLSCompliant(false)]
public static string ToString (ulong value, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member ToString : uint64 * IFormatProvider -> string
Public Shared Function ToString (value As ULong, provider As IFormatProvider) As String
参数
- value
- UInt64
要转换的 64 位无符号整数。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式。
- 属性
示例
以下示例定义一个自定义 NumberFormatInfo 类,该类将其负号定义为字符串“~”,将正符号定义为字符串“!”。 然后,它调用 方法, ToString(UInt64, IFormatProvider) 将无符号长整数值转换为其等效的字符串表示形式。 转换同时使用固定区域性和自定义 NumberFormatInfo 对象。 输出指示未使用此格式设置信息,因为默认情况下,“G”格式说明符不包含具有正值的正号。
ulong number = UInt64.MaxValue;
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
Console.WriteLine("{0,-12} --> {1,12}",
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture),
Convert.ToString(number, nfi));
// The example displays the following output:
// 18446744073709551615 --> 18446744073709551615
let number = UInt64.MaxValue
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture),-12} --> {Convert.ToString(number, nfi),12}"
// The example displays the following output:
// 18446744073709551615 --> 18446744073709551615
Dim number As ULong = UInt64.MaxValue
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
Console.WriteLine("{0,-12} --> {1,12}", _
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture), _
Convert.ToString(number, nfi))
' The example displays the following output:
' 18446744073709551615 --> 18446744073709551615
注解
此实现与 相同 UInt64.ToString(IFormatProvider)。
适用于
ToString(Char, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
使用指定的区域性特定格式设置信息将指定的 Unicode 字符的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(char value, IFormatProvider ^ provider);
public static string ToString (char value, IFormatProvider provider);
public static string ToString (char value, IFormatProvider? provider);
static member ToString : char * IFormatProvider -> string
Public Shared Function ToString (value As Char, provider As IFormatProvider) As String
参数
- value
- Char
要转换的 Unicode 字符。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。 忽略此参数。
返回
value
的字符串表示形式。
示例
以下示例使用 一个 IFormatProvider 对象将值String转换为Char具有 ToString
方法的 ,该对象显示调用它的格式提供程序的类型。 该示例显示 IFormatProvider 未引用 对象。
// Example of Convert::ToString( non-numeric types, IFormatProvider ).
using namespace System;
using namespace System::Globalization;
#define null (Object^)0
// An instance of this class can be passed to methods that require
// an IFormatProvider.
ref class DummyProvider: public IFormatProvider
{
public:
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
virtual Object^ GetFormat( Type^ argType )
{
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
Console::Write( "{0,-40}", argType->ToString() );
return null;
}
};
int main()
{
// Create an instance of the IFormatProvider.
DummyProvider^ provider = gcnew DummyProvider;
String^ converted;
// Convert these values using DummyProvider.
int Int32A = -252645135;
double DoubleA = 61680.3855;
Object^ ObjDouble = -98765.4321;
DateTime DayTimeA = DateTime(2001,9,11,13,45,0);
bool BoolA = true;
String^ StringA = "Qwerty";
Char CharA = '$';
TimeSpan TSpanA = TimeSpan(0,18,0);
Object^ ObjOther = static_cast<Object^>(provider);
Console::WriteLine( "This example of "
"Convert::ToString( non-numeric, IFormatProvider* ) \n"
"generates the following output. The provider type, "
"argument type, \nand argument value are displayed." );
Console::WriteLine( "\nNote: The IFormatProvider object is "
"not called for Boolean, String, \nChar, TimeSpan, "
"and non-numeric Object." );
// The format provider is called for these conversions.
Console::WriteLine();
converted = Convert::ToString( Int32A, provider );
Console::WriteLine( "int {0}", converted );
converted = Convert::ToString( DoubleA, provider );
Console::WriteLine( "double {0}", converted );
converted = Convert::ToString( ObjDouble, provider );
Console::WriteLine( "Object {0}", converted );
converted = Convert::ToString( DayTimeA, provider );
Console::WriteLine( "DateTime {0}", converted );
// The format provider is not called for these conversions.
Console::WriteLine();
converted = Convert::ToString( BoolA, provider );
Console::WriteLine( "bool {0}", converted );
converted = Convert::ToString( StringA, provider );
Console::WriteLine( "String {0}", converted );
converted = Convert::ToString( CharA, provider );
Console::WriteLine( "Char {0}", converted );
converted = Convert::ToString( TSpanA, provider );
Console::WriteLine( "TimeSpan {0}", converted );
converted = Convert::ToString( ObjOther, provider );
Console::WriteLine( "Object {0}", converted );
}
/*
This example of Convert::ToString( non-numeric, IFormatProvider* )
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.
System.Globalization.NumberFormatInfo int -252645135
System.Globalization.NumberFormatInfo double 61680.3855
System.Globalization.NumberFormatInfo Object -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
bool True
String Qwerty
Char $
TimeSpan 00:18:00
Object DummyProvider
*/
// Example of Convert.ToString( non-numeric types, IFormatProvider ).
using System;
using System.Globalization;
// An instance of this class can be passed to methods that require
// an IFormatProvider.
public class DummyProvider : IFormatProvider
{
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
public object GetFormat( Type argType )
{
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
Console.Write( "{0,-40}", argType.ToString( ) );
return null;
}
}
class ConvertNonNumericProviderDemo
{
static void Main( )
{
// Create an instance of the IFormatProvider.
DummyProvider provider = new DummyProvider( );
string converted;
// Convert these values using DummyProvider.
int Int32A = -252645135;
double DoubleA = 61680.3855;
object ObjDouble = (object)( -98765.4321 );
DateTime DayTimeA = new DateTime( 2001, 9, 11, 13, 45, 0 );
bool BoolA = true;
string StringA = "Qwerty";
char CharA = '$';
TimeSpan TSpanA = new TimeSpan( 0, 18, 0 );
object ObjOther = (object)provider;
Console.WriteLine( "This example of " +
"Convert.ToString( non-numeric, IFormatProvider ) \n" +
"generates the following output. The provider type, " +
"argument type, \nand argument value are displayed." );
Console.WriteLine( "\nNote: The IFormatProvider object is " +
"not called for Boolean, String, \nChar, TimeSpan, " +
"and non-numeric Object." );
// The format provider is called for these conversions.
Console.WriteLine( );
converted = Convert.ToString( Int32A, provider );
Console.WriteLine( "int {0}", converted );
converted = Convert.ToString( DoubleA, provider );
Console.WriteLine( "double {0}", converted );
converted = Convert.ToString( ObjDouble, provider );
Console.WriteLine( "object {0}", converted );
converted = Convert.ToString( DayTimeA, provider );
Console.WriteLine( "DateTime {0}", converted );
// The format provider is not called for these conversions.
Console.WriteLine( );
converted = Convert.ToString( BoolA, provider );
Console.WriteLine( "bool {0}", converted );
converted = Convert.ToString( StringA, provider );
Console.WriteLine( "string {0}", converted );
converted = Convert.ToString( CharA, provider );
Console.WriteLine( "char {0}", converted );
converted = Convert.ToString( TSpanA, provider );
Console.WriteLine( "TimeSpan {0}", converted );
converted = Convert.ToString( ObjOther, provider );
Console.WriteLine( "object {0}", converted );
}
}
/*
This example of Convert.ToString( non-numeric, IFormatProvider )
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.
System.Globalization.NumberFormatInfo int -252645135
System.Globalization.NumberFormatInfo double 61680.3855
System.Globalization.NumberFormatInfo object -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
bool True
string Qwerty
char $
TimeSpan 00:18:00
object DummyProvider
*/
// Example of Convert.ToString(non-numeric types, IFormatProvider).
open System
open System.Globalization
// Create an instance of the IFormatProvider with an object expression.
let provider =
{ new IFormatProvider with
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
member _.GetFormat(argType: Type) =
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
printf $"{argType,-40}"
null
}
// Convert these values using DummyProvider.
let Int32A = -252645135
let DoubleA = 61680.3855
let ObjDouble = -98765.4321 :> obj
let DayTimeA = DateTime(2001, 9, 11, 13, 45, 0)
let BoolA = true
let StringA = "Qwerty"
let CharA = '$'
let TSpanA = TimeSpan(0, 18, 0)
let ObjOther = provider :> obj
[<EntryPoint>]
let main _ =
printfn
"""This example of Convert.ToString(non-numeric, IFormatProvider)
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object."""
// The format provider is called for these conversions.
printfn ""
let converted = Convert.ToString(Int32A, provider)
printfn $"int {converted}"
let converted = Convert.ToString(DoubleA, provider)
printfn $"double {converted}"
let converted = Convert.ToString(ObjDouble, provider)
printfn $"object {converted}"
let converted = Convert.ToString(DayTimeA, provider)
printfn $"DateTime {converted}"
// The format provider is not called for these conversions.
printfn ""
let converted = Convert.ToString(BoolA, provider)
printfn $"bool {converted}"
let converted = Convert.ToString(StringA, provider)
printfn $"string {converted}"
let converted = Convert.ToString(CharA, provider)
printfn $"char {converted}"
let converted = Convert.ToString(TSpanA, provider)
printfn $"TimeSpan {converted}"
let converted = Convert.ToString(ObjOther, provider)
printfn $"object {converted}"
0
// This example of Convert.ToString(non-numeric, IFormatProvider)
// generates the following output. The provider type, argument type,
// and argument value are displayed.
//
// Note: The IFormatProvider object is not called for Boolean, String,
// Char, TimeSpan, and non-numeric Object.
//
// System.Globalization.NumberFormatInfo int -252645135
// System.Globalization.NumberFormatInfo double 61680.3855
// System.Globalization.NumberFormatInfo object -98765.4321
// System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
//
// bool True
// string Qwerty
// char $
// TimeSpan 00:18:00
// object DummyProvider
' Example of Convert.ToString( non-numeric types, IFormatProvider ).
Imports System.Globalization
' An instance of this class can be passed to methods that require
' an IFormatProvider.
Public Class DummyProvider
Implements IFormatProvider
' Normally, GetFormat returns an object of the requested type
' (usually itself) if it is able; otherwise, it returns Nothing.
Public Function GetFormat( argType As Type ) As Object _
Implements IFormatProvider.GetFormat
' Here, the type of argType is displayed, and GetFormat
' always returns Nothing.
Console.Write( "{0,-40}", argType.ToString( ) )
Return Nothing
End Function
End Class
Module ConvertNonNumericProviderDemo
Sub Main( )
' Create an instance of the IFormatProvider.
Dim provider As New DummyProvider( )
Dim converted As String
' Convert these values using DummyProvider.
Dim Int32A As Integer = -252645135
Dim DoubleA As Double = 61680.3855
Dim ObjDouble As Object = CType( -98765.4321, Object )
Dim DayTimeA As DateTime = _
new DateTime( 2001, 9, 11, 13, 45, 0 )
Dim BoolA As Boolean = True
Dim StringA As String = "Qwerty"
Dim CharA As Char = "$"c
Dim TSpanA As TimeSpan = New TimeSpan( 0, 18, 0 )
Dim ObjOther As Object = CType( provider, Object )
Console.WriteLine( "This example of " & _
"Convert.ToString( non-numeric, IFormatProvider ) " & _
vbCrLf & "generates the following output. The " & _
"provider type, argument type, " & vbCrLf & "and " & _
"argument value are displayed." )
Console.WriteLine( vbCrLf & _
"Note: The IFormatProvider object is not called for " & _
"Boolean, String, " & vbCrLf & "Char, TimeSpan, " & _
"and non-numeric Object." )
' The format provider is called for these conversions.
Console.WriteLine( )
converted = Convert.ToString( Int32A, provider )
Console.WriteLine( "Int32 {0}", converted )
converted = Convert.ToString( DoubleA, provider )
Console.WriteLine( "Double {0}", converted )
converted = Convert.ToString( ObjDouble, provider )
Console.WriteLine( "Object {0}", converted )
converted = Convert.ToString( DayTimeA, provider )
Console.WriteLine( "DateTime {0}", converted )
' The format provider is not called for these conversions.
Console.WriteLine( )
converted = Convert.ToString( BoolA, provider )
Console.WriteLine( "Boolean {0}", converted )
converted = Convert.ToString( StringA, provider )
Console.WriteLine( "String {0}", converted )
converted = Convert.ToString( CharA, provider )
Console.WriteLine( "Char {0}", converted )
converted = Convert.ToString( TSpanA, provider )
Console.WriteLine( "TimeSpan {0}", converted )
converted = Convert.ToString( ObjOther, provider )
Console.WriteLine( "Object {0}", converted )
End Sub
End Module
' This example of Convert.ToString( non-numeric, IFormatProvider )
' generates the following output. The provider type, argument type,
' and argument value are displayed.
'
' Note: The IFormatProvider object is not called for Boolean, String,
' Char, TimeSpan, and non-numeric Object.
'
' System.Globalization.NumberFormatInfo Int32 -252645135
' System.Globalization.NumberFormatInfo Double 61680.3855
' System.Globalization.NumberFormatInfo Object -98765.4321
' System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
'
' Boolean True
' String Qwerty
' Char $
' TimeSpan 00:18:00
' Object DummyProvider
注解
此实现与 相同 Char.ToString()。 忽略 provider
参数。
适用于
ToString(Int64, Int32)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将 64 位带符号整数的值转换为其指定基的等效字符串表示形式。
public:
static System::String ^ ToString(long value, int toBase);
public static string ToString (long value, int toBase);
static member ToString : int64 * int -> string
Public Shared Function ToString (value As Long, toBase As Integer) As String
参数
- value
- Int64
要转换的 64 位带符号整数。
- toBase
- Int32
返回值的基数,必须是 2、8、10 或 16。
返回
以 value
为基数的 toBase
的字符串表示形式。
例外
toBase
不是 2、8、10 或 16。
示例
下面的示例将长整数数组中的每个元素转换为其等效的二进制、十六进制、十六进制和十六进制字符串表示形式。
int[] bases = { 2, 8, 10, 16};
long[] numbers = { Int64.MinValue, -193275430, -13621, -18, 12,
1914206117, Int64.MaxValue };
foreach (int baseValue in bases)
{
Console.WriteLine("Base {0} conversion:", baseValue);
foreach (long number in numbers)
{
Console.WriteLine(" {0,-23} --> 0x{1}",
number, Convert.ToString(number, baseValue));
}
}
// The example displays the following output:
// Base 2 conversion:
// -9223372036854775808 --> 0x1000000000000000000000000000000000000000000000000000000000000000
// -193275430 --> 0x1111111111111111111111111111111111110100011110101101100111011010
// -13621 --> 0x1111111111111111111111111111111111111111111111111100101011001011
// -18 --> 0x1111111111111111111111111111111111111111111111111111111111101110
// 12 --> 0x1100
// 1914206117 --> 0x1110010000110000111011110100101
// 9223372036854775807 --> 0x111111111111111111111111111111111111111111111111111111111111111
// Base 8 conversion:
// -9223372036854775808 --> 0x1000000000000000000000
// -193275430 --> 0x1777777777776436554732
// -13621 --> 0x1777777777777777745313
// -18 --> 0x1777777777777777777756
// 12 --> 0x14
// 1914206117 --> 0x16206073645
// 9223372036854775807 --> 0x777777777777777777777
// Base 10 conversion:
// -9223372036854775808 --> 0x-9223372036854775808
// -193275430 --> 0x-193275430
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 1914206117 --> 0x1914206117
// 9223372036854775807 --> 0x9223372036854775807
// Base 16 conversion:
// -9223372036854775808 --> 0x8000000000000000
// -193275430 --> 0xfffffffff47ad9da
// -13621 --> 0xffffffffffffcacb
// -18 --> 0xffffffffffffffee
// 12 --> 0xc
// 1914206117 --> 0x721877a5
// 9223372036854775807 --> 0x7fffffffffffffff
let bases = [| 2; 8; 10; 16 |]
let numbers =
[| Int64.MinValue; -193275430; -13621; -18; 12; 1914206117; Int64.MaxValue |]
for baseValue in bases do
printfn $"Base {baseValue} conversion:"
for number in numbers do
printfn $" {number,-23} --> 0x{Convert.ToString(number, baseValue)}"
// The example displays the following output:
// Base 2 conversion:
// -9223372036854775808 --> 0x1000000000000000000000000000000000000000000000000000000000000000
// -193275430 --> 0x1111111111111111111111111111111111110100011110101101100111011010
// -13621 --> 0x1111111111111111111111111111111111111111111111111100101011001011
// -18 --> 0x1111111111111111111111111111111111111111111111111111111111101110
// 12 --> 0x1100
// 1914206117 --> 0x1110010000110000111011110100101
// 9223372036854775807 --> 0x111111111111111111111111111111111111111111111111111111111111111
// Base 8 conversion:
// -9223372036854775808 --> 0x1000000000000000000000
// -193275430 --> 0x1777777777776436554732
// -13621 --> 0x1777777777777777745313
// -18 --> 0x1777777777777777777756
// 12 --> 0x14
// 1914206117 --> 0x16206073645
// 9223372036854775807 --> 0x777777777777777777777
// Base 10 conversion:
// -9223372036854775808 --> 0x-9223372036854775808
// -193275430 --> 0x-193275430
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 1914206117 --> 0x1914206117
// 9223372036854775807 --> 0x9223372036854775807
// Base 16 conversion:
// -9223372036854775808 --> 0x8000000000000000
// -193275430 --> 0xfffffffff47ad9da
// -13621 --> 0xffffffffffffcacb
// -18 --> 0xffffffffffffffee
// 12 --> 0xc
// 1914206117 --> 0x721877a5
// 9223372036854775807 --> 0x7fffffffffffffff
Dim bases() As Integer = { 2, 8, 10, 16}
Dim numbers() As Long = { Int64.MinValue, -193275430, -13621, -18, 12, _
1914206117, Int64.MaxValue }
For Each base As Integer In bases
Console.WriteLine("Base {0} conversion:", base)
For Each number As Long In numbers
Console.WriteLine(" {0,-23} --> 0x{1}", _
number, Convert.ToString(number, base))
Next
Next
' The example displays the following output:
' Base 2 conversion:
' -9223372036854775808 --> 0x1000000000000000000000000000000000000000000000000000000000000000
' -193275430 --> 0x1111111111111111111111111111111111110100011110101101100111011010
' -13621 --> 0x1111111111111111111111111111111111111111111111111100101011001011
' -18 --> 0x1111111111111111111111111111111111111111111111111111111111101110
' 12 --> 0x1100
' 1914206117 --> 0x1110010000110000111011110100101
' 9223372036854775807 --> 0x111111111111111111111111111111111111111111111111111111111111111
' Base 8 conversion:
' -9223372036854775808 --> 0x1000000000000000000000
' -193275430 --> 0x1777777777776436554732
' -13621 --> 0x1777777777777777745313
' -18 --> 0x1777777777777777777756
' 12 --> 0x14
' 1914206117 --> 0x16206073645
' 9223372036854775807 --> 0x777777777777777777777
' Base 10 conversion:
' -9223372036854775808 --> 0x-9223372036854775808
' -193275430 --> 0x-193275430
' -13621 --> 0x-13621
' -18 --> 0x-18
' 12 --> 0x12
' 1914206117 --> 0x1914206117
' 9223372036854775807 --> 0x9223372036854775807
' Base 16 conversion:
' -9223372036854775808 --> 0x8000000000000000
' -193275430 --> 0xfffffffff47ad9da
' -13621 --> 0xffffffffffffcacb
' -18 --> 0xffffffffffffffee
' 12 --> 0xc
' 1914206117 --> 0x721877a5
' 9223372036854775807 --> 0x7fffffffffffffff
let bases = [2; 8; 10; 16]
let numbers = [ Int64.MinValue; -193275430L; -13621L; -18L; 12L; 1914206117L; Int64.MaxValue ]
for baseValue in bases do
printfn "Base %i conversion:" baseValue
for number in numbers do
printfn " % -23i --> 0x%s" number (Convert.ToString (number, baseValue))
// The example displays the following output:
// Base 2 conversion:
// -9223372036854775808 --> 0x1000000000000000000000000000000000000000000000000000000000000000
// -193275430 --> 0x1111111111111111111111111111111111110100011110101101100111011010
// -13621 --> 0x1111111111111111111111111111111111111111111111111100101011001011
// -18 --> 0x1111111111111111111111111111111111111111111111111111111111101110
// 12 --> 0x1100
// 1914206117 --> 0x1110010000110000111011110100101
// 9223372036854775807 --> 0x111111111111111111111111111111111111111111111111111111111111111
// Base 8 conversion:
// -9223372036854775808 --> 0x1000000000000000000000
// -193275430 --> 0x1777777777776436554732
// -13621 --> 0x1777777777777777745313
// -18 --> 0x1777777777777777777756
// 12 --> 0x14
// 1914206117 --> 0x16206073645
// 9223372036854775807 --> 0x777777777777777777777
// Base 10 conversion:
// -9223372036854775808 --> 0x-9223372036854775808
// -193275430 --> 0x-193275430
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 1914206117 --> 0x1914206117
// 9223372036854775807 --> 0x9223372036854775807
// Base 16 conversion:
// -9223372036854775808 --> 0x8000000000000000
// -193275430 --> 0xfffffffff47ad9da
// -13621 --> 0xffffffffffffcacb
// -18 --> 0xffffffffffffffee
// 12 --> 0xc
// 1914206117 --> 0x721877a5
// 9223372036854775807 --> 0x7fffffffffffffff
注解
如果 value
为正且 toBase
不为 10,则返回的字符串使用符号和数量级表示形式。 如果 value
为负数且 toBase
不为 10,则返回的字符串使用二的补码表示形式。 这意味着,最高阶字节 (位 63) 的高阶位被解释为符号位。
ToString(Int64, Int32)如果调用 方法以创建稍后将转换回数字的字符串,则应调用采用类似数值表示形式的相应方法来执行转换。 此类方法包括 Convert.ToInt64(String, Int32) 和 Int64.Parse(String, NumberStyles)。
适用于
ToString(Byte, Int32)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将 8 位无符号整数的值转换为其等效的指定基数的字符串表示形式。
public:
static System::String ^ ToString(System::Byte value, int toBase);
public static string ToString (byte value, int toBase);
static member ToString : byte * int -> string
Public Shared Function ToString (value As Byte, toBase As Integer) As String
参数
- value
- Byte
要转换的 8 位无符号整数。
- toBase
- Int32
返回值的基数,必须是 2、8、10 或 16。
返回
以 value
为基数的 toBase
的字符串表示形式。
例外
toBase
不是 2、8、10 或 16。
示例
以下示例将字节数组中的每个元素转换为其等效的二进制、十六进制、十六进制和十六进制字符串表示形式。
int[] bases = { 2, 8, 10, 16};
byte[] numbers = { Byte.MinValue, 12, 103, Byte.MaxValue};
foreach (int baseValue in bases)
{
Console.WriteLine("Base {0} conversion:", baseValue);
foreach (byte number in numbers)
{
Console.WriteLine(" {0,-5} --> 0x{1}",
number, Convert.ToString(number, baseValue));
}
}
// The example displays the following output:
// Base 2 conversion:
// 0 --> 0x0
// 12 --> 0x1100
// 103 --> 0x1100111
// 255 --> 0x11111111
// Base 8 conversion:
// 0 --> 0x0
// 12 --> 0x14
// 103 --> 0x147
// 255 --> 0x377
// Base 10 conversion:
// 0 --> 0x0
// 12 --> 0x12
// 103 --> 0x103
// 255 --> 0x255
// Base 16 conversion:
// 0 --> 0x0
// 12 --> 0xc
// 103 --> 0x67
// 255 --> 0xff
let bases = [| 2; 8; 10; 16 |]
let numbers = [| Byte.MinValue; 12uy; 103uy; Byte.MaxValue |]
for baseValue in bases do
printfn $"Base {baseValue} conversion:"
for number in numbers do
Console.WriteLine(" {0,-5} --> 0x{1}",
number, Convert.ToString(number, baseValue))
// The example displays the following output:
// Base 2 conversion:
// 0 --> 0x0
// 12 --> 0x1100
// 103 --> 0x1100111
// 255 --> 0x11111111
// Base 8 conversion:
// 0 --> 0x0
// 12 --> 0x14
// 103 --> 0x147
// 255 --> 0x377
// Base 10 conversion:
// 0 --> 0x0
// 12 --> 0x12
// 103 --> 0x103
// 255 --> 0x255
// Base 16 conversion:
// 0 --> 0x0
// 12 --> 0xc
// 103 --> 0x67
// 255 --> 0xff
Dim bases() As Integer = { 2, 8, 10, 16}
Dim numbers() As Byte = { Byte.MinValue, 12, 103, Byte.MaxValue}
For Each base As Integer In bases
Console.WriteLine("Base {0} conversion:", base)
For Each number As Byte In numbers
Console.WriteLine(" {0,-5} --> 0x{1}", _
number, Convert.ToString(number, base))
Next
Next
' The example displays the following output:
' Base 2 conversion:
' 0 --> 0x0
' 12 --> 0x1100
' 103 --> 0x1100111
' 255 --> 0x11111111
' Base 8 conversion:
' 0 --> 0x0
' 12 --> 0x14
' 103 --> 0x147
' 255 --> 0x377
' Base 10 conversion:
' 0 --> 0x0
' 12 --> 0x12
' 103 --> 0x103
' 255 --> 0x255
' Base 16 conversion:
' 0 --> 0x0
' 12 --> 0xc
' 103 --> 0x67
' 255 --> 0xff
let bases = [2; 8; 10; 16]
let numbers = [ Byte.MinValue; 12uy; 103uy; Byte.MaxValue ]
for baseValue in bases do
printfn "Base %i conversion:" baseValue
for number in numbers do
printfn " % -5i --> 0x%s" number (Convert.ToString (number, baseValue))
// The example displays the following output:
// Base 2 conversion:
// 0 --> 0x0
// 12 --> 0x1100
// 103 --> 0x1100111
// 255 --> 0x11111111
// Base 8 conversion:
// 0 --> 0x0
// 12 --> 0x14
// 103 --> 0x147
// 255 --> 0x377
// Base 10 conversion:
// 0 --> 0x0
// 12 --> 0x12
// 103 --> 0x103
// 255 --> 0x255
// Base 16 conversion:
// 0 --> 0x0
// 12 --> 0xc
// 103 --> 0x67
// 255 --> 0xff
注解
如果 toBase
不等于 10,则 方法value
返回Convert.ToString(Byte, Int32)的字符串仅表示其数量级。 如果调用 方法以创建稍后将转换回数字的字符串,则应调用假定仅数量级数值表示形式的相应方法来执行转换。 此类方法包括 Convert.ToByte(String, Int32) 或 Byte.Parse(String, NumberStyles)。
适用于
ToString(Boolean, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定的布尔值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(bool value, IFormatProvider ^ provider);
public static string ToString (bool value, IFormatProvider provider);
public static string ToString (bool value, IFormatProvider? provider);
static member ToString : bool * IFormatProvider -> string
Public Shared Function ToString (value As Boolean, provider As IFormatProvider) As String
参数
- value
- Boolean
要转换的布尔值。
- provider
- IFormatProvider
一个对象的实例。 忽略此参数。
返回
value
的字符串表示形式。
示例
以下示例使用 一个 IFormatProvider 对象将值String转换为Boolean具有 ToString
方法的 ,该对象显示调用它的格式提供程序的类型。 该示例显示 IFormatProvider 未引用 对象。
// Example of Convert::ToString( non-numeric types, IFormatProvider ).
using namespace System;
using namespace System::Globalization;
#define null (Object^)0
// An instance of this class can be passed to methods that require
// an IFormatProvider.
ref class DummyProvider: public IFormatProvider
{
public:
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
virtual Object^ GetFormat( Type^ argType )
{
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
Console::Write( "{0,-40}", argType->ToString() );
return null;
}
};
int main()
{
// Create an instance of the IFormatProvider.
DummyProvider^ provider = gcnew DummyProvider;
String^ converted;
// Convert these values using DummyProvider.
int Int32A = -252645135;
double DoubleA = 61680.3855;
Object^ ObjDouble = -98765.4321;
DateTime DayTimeA = DateTime(2001,9,11,13,45,0);
bool BoolA = true;
String^ StringA = "Qwerty";
Char CharA = '$';
TimeSpan TSpanA = TimeSpan(0,18,0);
Object^ ObjOther = static_cast<Object^>(provider);
Console::WriteLine( "This example of "
"Convert::ToString( non-numeric, IFormatProvider* ) \n"
"generates the following output. The provider type, "
"argument type, \nand argument value are displayed." );
Console::WriteLine( "\nNote: The IFormatProvider object is "
"not called for Boolean, String, \nChar, TimeSpan, "
"and non-numeric Object." );
// The format provider is called for these conversions.
Console::WriteLine();
converted = Convert::ToString( Int32A, provider );
Console::WriteLine( "int {0}", converted );
converted = Convert::ToString( DoubleA, provider );
Console::WriteLine( "double {0}", converted );
converted = Convert::ToString( ObjDouble, provider );
Console::WriteLine( "Object {0}", converted );
converted = Convert::ToString( DayTimeA, provider );
Console::WriteLine( "DateTime {0}", converted );
// The format provider is not called for these conversions.
Console::WriteLine();
converted = Convert::ToString( BoolA, provider );
Console::WriteLine( "bool {0}", converted );
converted = Convert::ToString( StringA, provider );
Console::WriteLine( "String {0}", converted );
converted = Convert::ToString( CharA, provider );
Console::WriteLine( "Char {0}", converted );
converted = Convert::ToString( TSpanA, provider );
Console::WriteLine( "TimeSpan {0}", converted );
converted = Convert::ToString( ObjOther, provider );
Console::WriteLine( "Object {0}", converted );
}
/*
This example of Convert::ToString( non-numeric, IFormatProvider* )
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.
System.Globalization.NumberFormatInfo int -252645135
System.Globalization.NumberFormatInfo double 61680.3855
System.Globalization.NumberFormatInfo Object -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
bool True
String Qwerty
Char $
TimeSpan 00:18:00
Object DummyProvider
*/
// Example of Convert.ToString( non-numeric types, IFormatProvider ).
using System;
using System.Globalization;
// An instance of this class can be passed to methods that require
// an IFormatProvider.
public class DummyProvider : IFormatProvider
{
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
public object GetFormat( Type argType )
{
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
Console.Write( "{0,-40}", argType.ToString( ) );
return null;
}
}
class ConvertNonNumericProviderDemo
{
static void Main( )
{
// Create an instance of the IFormatProvider.
DummyProvider provider = new DummyProvider( );
string converted;
// Convert these values using DummyProvider.
int Int32A = -252645135;
double DoubleA = 61680.3855;
object ObjDouble = (object)( -98765.4321 );
DateTime DayTimeA = new DateTime( 2001, 9, 11, 13, 45, 0 );
bool BoolA = true;
string StringA = "Qwerty";
char CharA = '$';
TimeSpan TSpanA = new TimeSpan( 0, 18, 0 );
object ObjOther = (object)provider;
Console.WriteLine( "This example of " +
"Convert.ToString( non-numeric, IFormatProvider ) \n" +
"generates the following output. The provider type, " +
"argument type, \nand argument value are displayed." );
Console.WriteLine( "\nNote: The IFormatProvider object is " +
"not called for Boolean, String, \nChar, TimeSpan, " +
"and non-numeric Object." );
// The format provider is called for these conversions.
Console.WriteLine( );
converted = Convert.ToString( Int32A, provider );
Console.WriteLine( "int {0}", converted );
converted = Convert.ToString( DoubleA, provider );
Console.WriteLine( "double {0}", converted );
converted = Convert.ToString( ObjDouble, provider );
Console.WriteLine( "object {0}", converted );
converted = Convert.ToString( DayTimeA, provider );
Console.WriteLine( "DateTime {0}", converted );
// The format provider is not called for these conversions.
Console.WriteLine( );
converted = Convert.ToString( BoolA, provider );
Console.WriteLine( "bool {0}", converted );
converted = Convert.ToString( StringA, provider );
Console.WriteLine( "string {0}", converted );
converted = Convert.ToString( CharA, provider );
Console.WriteLine( "char {0}", converted );
converted = Convert.ToString( TSpanA, provider );
Console.WriteLine( "TimeSpan {0}", converted );
converted = Convert.ToString( ObjOther, provider );
Console.WriteLine( "object {0}", converted );
}
}
/*
This example of Convert.ToString( non-numeric, IFormatProvider )
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.
System.Globalization.NumberFormatInfo int -252645135
System.Globalization.NumberFormatInfo double 61680.3855
System.Globalization.NumberFormatInfo object -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
bool True
string Qwerty
char $
TimeSpan 00:18:00
object DummyProvider
*/
// Example of Convert.ToString(non-numeric types, IFormatProvider).
open System
open System.Globalization
// Create an instance of the IFormatProvider with an object expression.
let provider =
{ new IFormatProvider with
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
member _.GetFormat(argType: Type) =
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
printf $"{argType,-40}"
null
}
// Convert these values using DummyProvider.
let Int32A = -252645135
let DoubleA = 61680.3855
let ObjDouble = -98765.4321 :> obj
let DayTimeA = DateTime(2001, 9, 11, 13, 45, 0)
let BoolA = true
let StringA = "Qwerty"
let CharA = '$'
let TSpanA = TimeSpan(0, 18, 0)
let ObjOther = provider :> obj
[<EntryPoint>]
let main _ =
printfn
"""This example of Convert.ToString(non-numeric, IFormatProvider)
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object."""
// The format provider is called for these conversions.
printfn ""
let converted = Convert.ToString(Int32A, provider)
printfn $"int {converted}"
let converted = Convert.ToString(DoubleA, provider)
printfn $"double {converted}"
let converted = Convert.ToString(ObjDouble, provider)
printfn $"object {converted}"
let converted = Convert.ToString(DayTimeA, provider)
printfn $"DateTime {converted}"
// The format provider is not called for these conversions.
printfn ""
let converted = Convert.ToString(BoolA, provider)
printfn $"bool {converted}"
let converted = Convert.ToString(StringA, provider)
printfn $"string {converted}"
let converted = Convert.ToString(CharA, provider)
printfn $"char {converted}"
let converted = Convert.ToString(TSpanA, provider)
printfn $"TimeSpan {converted}"
let converted = Convert.ToString(ObjOther, provider)
printfn $"object {converted}"
0
// This example of Convert.ToString(non-numeric, IFormatProvider)
// generates the following output. The provider type, argument type,
// and argument value are displayed.
//
// Note: The IFormatProvider object is not called for Boolean, String,
// Char, TimeSpan, and non-numeric Object.
//
// System.Globalization.NumberFormatInfo int -252645135
// System.Globalization.NumberFormatInfo double 61680.3855
// System.Globalization.NumberFormatInfo object -98765.4321
// System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
//
// bool True
// string Qwerty
// char $
// TimeSpan 00:18:00
// object DummyProvider
' Example of Convert.ToString( non-numeric types, IFormatProvider ).
Imports System.Globalization
' An instance of this class can be passed to methods that require
' an IFormatProvider.
Public Class DummyProvider
Implements IFormatProvider
' Normally, GetFormat returns an object of the requested type
' (usually itself) if it is able; otherwise, it returns Nothing.
Public Function GetFormat( argType As Type ) As Object _
Implements IFormatProvider.GetFormat
' Here, the type of argType is displayed, and GetFormat
' always returns Nothing.
Console.Write( "{0,-40}", argType.ToString( ) )
Return Nothing
End Function
End Class
Module ConvertNonNumericProviderDemo
Sub Main( )
' Create an instance of the IFormatProvider.
Dim provider As New DummyProvider( )
Dim converted As String
' Convert these values using DummyProvider.
Dim Int32A As Integer = -252645135
Dim DoubleA As Double = 61680.3855
Dim ObjDouble As Object = CType( -98765.4321, Object )
Dim DayTimeA As DateTime = _
new DateTime( 2001, 9, 11, 13, 45, 0 )
Dim BoolA As Boolean = True
Dim StringA As String = "Qwerty"
Dim CharA As Char = "$"c
Dim TSpanA As TimeSpan = New TimeSpan( 0, 18, 0 )
Dim ObjOther As Object = CType( provider, Object )
Console.WriteLine( "This example of " & _
"Convert.ToString( non-numeric, IFormatProvider ) " & _
vbCrLf & "generates the following output. The " & _
"provider type, argument type, " & vbCrLf & "and " & _
"argument value are displayed." )
Console.WriteLine( vbCrLf & _
"Note: The IFormatProvider object is not called for " & _
"Boolean, String, " & vbCrLf & "Char, TimeSpan, " & _
"and non-numeric Object." )
' The format provider is called for these conversions.
Console.WriteLine( )
converted = Convert.ToString( Int32A, provider )
Console.WriteLine( "Int32 {0}", converted )
converted = Convert.ToString( DoubleA, provider )
Console.WriteLine( "Double {0}", converted )
converted = Convert.ToString( ObjDouble, provider )
Console.WriteLine( "Object {0}", converted )
converted = Convert.ToString( DayTimeA, provider )
Console.WriteLine( "DateTime {0}", converted )
' The format provider is not called for these conversions.
Console.WriteLine( )
converted = Convert.ToString( BoolA, provider )
Console.WriteLine( "Boolean {0}", converted )
converted = Convert.ToString( StringA, provider )
Console.WriteLine( "String {0}", converted )
converted = Convert.ToString( CharA, provider )
Console.WriteLine( "Char {0}", converted )
converted = Convert.ToString( TSpanA, provider )
Console.WriteLine( "TimeSpan {0}", converted )
converted = Convert.ToString( ObjOther, provider )
Console.WriteLine( "Object {0}", converted )
End Sub
End Module
' This example of Convert.ToString( non-numeric, IFormatProvider )
' generates the following output. The provider type, argument type,
' and argument value are displayed.
'
' Note: The IFormatProvider object is not called for Boolean, String,
' Char, TimeSpan, and non-numeric Object.
'
' System.Globalization.NumberFormatInfo Int32 -252645135
' System.Globalization.NumberFormatInfo Double 61680.3855
' System.Globalization.NumberFormatInfo Object -98765.4321
' System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
'
' Boolean True
' String Qwerty
' Char $
' TimeSpan 00:18:00
' Object DummyProvider
注解
此实现与 相同 Boolean.ToString。 对于 值,Boolean.TrueStringtrue
它返回 ;Boolean.FalseString对于 值,则返回 false
。
适用于
ToString(Byte, IFormatProvider)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
使用指定的区域性特定格式设置信息,将指定的 8 位无符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::Byte value, IFormatProvider ^ provider);
public static string ToString (byte value, IFormatProvider provider);
public static string ToString (byte value, IFormatProvider? provider);
static member ToString : byte * IFormatProvider -> string
Public Shared Function ToString (value As Byte, provider As IFormatProvider) As String
参数
- value
- Byte
要转换的 8 位无符号整数。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
value
的字符串表示形式。
示例
以下示例使用 en-US 和 fr-FR 区域性的格式设置约定,将无符号字节数组中的每个元素转换为其等效的字符串表示形式。 由于默认情况下,“G”说明符在字节值的字符串表示形式中仅输出十进制数字,因此 参数 provider
不会影响返回的字符串的格式设置。
byte[] numbers = { 12, 100, Byte.MaxValue };
// Define the culture names used to display them.
string[] cultureNames = { "en-US", "fr-FR" };
foreach (byte number in numbers)
{
Console.WriteLine("{0}:", Convert.ToString(number,
System.Globalization.CultureInfo.InvariantCulture));
foreach (string cultureName in cultureNames)
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
Console.WriteLine(" {0}: {1,20}",
culture.Name, Convert.ToString(number, culture));
}
Console.WriteLine();
}
// The example displays the following output:
// 12:
// en-US: 12
// fr-FR: 12
//
// 100:
// en-US: 100
// fr-FR: 100
//
// 255:
// en-US: 255
// fr-FR: 255
let numbers = [| 12uy; 100uy; Byte.MaxValue |]
// Define the culture names used to display them.
let cultureNames = [| "en-US"; "fr-FR" |]
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture)}:"
for cultureName in cultureNames do
let culture = CultureInfo cultureName
printfn $" {culture.Name}: {Convert.ToString(number, culture),20}"
printfn ""
// The example displays the following output:
// 12:
// en-US: 12
// fr-FR: 12
//
// 100:
// en-US: 100
// fr-FR: 100
//
// 255:
// en-US: 255
// fr-FR: 255
' Define an array of numbers to display.
Dim numbers() As Byte = { 12, 100, Byte.MaxValue }
' Define the culture names used to display them.
Dim cultureNames() As String = { "en-US", "fr-FR" }
For Each number As Byte In numbers
Console.WriteLine("{0}:", Convert.ToString(number, _
System.Globalization.CultureInfo.InvariantCulture))
For Each cultureName As String In cultureNames
Dim culture As New System.Globalization.CultureInfo(cultureName)
Console.WriteLine(" {0}: {1,20}", _
culture.Name, Convert.ToString(number, culture))
Next
Console.WriteLine()
Next
' The example displays the following output:
' 12:
' en-US: 12
' fr-FR: 12
'
' 100:
' en-US: 100
' fr-FR: 100
'
' 255:
' en-US: 255
' fr-FR: 255
注解
此实现与 相同 Byte.ToString。
适用于
ToString(Boolean)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定的布尔值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(bool value);
public static string ToString (bool value);
static member ToString : bool -> string
Public Shared Function ToString (value As Boolean) As String
参数
- value
- Boolean
要转换的布尔值。
返回
value
的字符串表示形式。
示例
下面的示例演示如何使用 ToString
将 转换为 。BooleanString 它还说明转换返回的字符串等于 Boolean.TrueString 或 Boolean.FalseString。
bool falseFlag = false;
bool trueFlag = true;
Console.WriteLine(Convert.ToString(falseFlag));
Console.WriteLine(Convert.ToString(falseFlag).Equals(Boolean.FalseString));
Console.WriteLine(Convert.ToString(trueFlag));
Console.WriteLine(Convert.ToString(trueFlag).Equals(Boolean.TrueString));
// The example displays the following output:
// False
// True
// True
// True
let falseFlag = false
let trueFlag = true
printfn $"{Convert.ToString falseFlag}"
printfn $"{Convert.ToString(falseFlag).Equals Boolean.FalseString}"
printfn $"{Convert.ToString trueFlag}"
printfn $"{Convert.ToString(trueFlag).Equals(Boolean.TrueString)}"
// The example displays the following output:
// False
// True
// True
// True
Dim falseFlag As Boolean = False
Dim trueFlag As Boolean = True
Console.WriteLine(Convert.ToString(falseFlag))
Console.WriteLine(Convert.ToString(falseFlag).Equals(Boolean.FalseString))
Console.WriteLine(Convert.ToString(trueFlag))
Console.WriteLine(Convert.ToString(trueFlag).Equals(Boolean.TrueString))
' The example displays the following output:
' False
' True
' True
' True
let falseFlag = false
let trueFlag = true
Console.WriteLine (Convert.ToString falseFlag)
Console.WriteLine (Convert.ToString falseFlag=Boolean.FalseString)
Console.WriteLine (Convert.ToString trueFlag)
Console.WriteLine (Convert.ToString trueFlag=Boolean.TrueString)
// The example displays the following output:
// False
// True
// True
// True
注解
此实现与 相同 Boolean.ToString。 对于 值,Boolean.TrueStringtrue
它返回 ;Boolean.FalseString对于 值,则返回 false
。
适用于
ToString(Byte)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定的 8 位无符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::Byte value);
public static string ToString (byte value);
static member ToString : byte -> string
Public Shared Function ToString (value As Byte) As String
参数
- value
- Byte
要转换的 8 位无符号整数。
返回
value
的字符串表示形式。
示例
以下示例将数组中的每个 Byte 值转换为字符串。
using System;
public class Example
{
public static void Main()
{
byte[] values = { Byte.MinValue, 12, 100, 179, Byte.MaxValue } ;
foreach (var value in values)
Console.WriteLine("{0,3} ({1}) --> {2}", value,
value.GetType().Name,
Convert.ToString(value));
}
}
// The example displays the following output:
// 0 (Byte) --> 0
// 12 (Byte) --> 12
// 100 (Byte) --> 100
// 179 (Byte) --> 179
// 255 (Byte) --> 255
open System
let values =
[| Byte.MinValue; 12uy; 100uy; 179uy; Byte.MaxValue |]
for value in values do
printfn $"{value,3} ({value.GetType().Name}) --> {Convert.ToString value}"
// The example displays the following output:
// 0 (Byte) --> 0
// 12 (Byte) --> 12
// 100 (Byte) --> 100
// 179 (Byte) --> 179
// 255 (Byte) --> 255
Public Module Example
Public Sub Main()
Dim values() As Byte = { Byte.MinValue, 12, 100, 179, Byte.MaxValue }
For Each value In values
Console.WriteLine("{0,3} ({1}) --> {2}", value,
value.GetType().Name,
Convert.ToString(value))
Next
End Sub
End Module
' The example displays the following output:
' 0 (Byte) --> 0
' 12 (Byte) --> 12
' 100 (Byte) --> 100
' 179 (Byte) --> 179
' 255 (Byte) --> 255
let values = [ Byte.MinValue; 12uy; 100uy; 179uy; Byte.MaxValue ]
for value in values do
printfn "% 4i (%s) --> %s" value (value.GetType().Name) (Convert.ToString value)
// The example displays the following output:
// 0 (Byte) --> 0
// 12 (Byte) --> 12
// 100 (Byte) --> 100
// 179 (Byte) --> 179
// 255 (Byte) --> 255
注解
此实现与 相同 Byte.ToString()。
适用于
ToString(Char)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定的 Unicode 字符的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(char value);
public static string ToString (char value);
static member ToString : char -> string
Public Shared Function ToString (value As Char) As String
参数
- value
- Char
要转换的 Unicode 字符。
返回
value
的字符串表示形式。
示例
public:
void ConvertStringChar( String^ stringVal )
{
Char charVal = 'a';
// A String must be one character long to convert to char.
try
{
charVal = System::Convert::ToChar( stringVal );
System::Console::WriteLine( " {0} as a char is {1}",
stringVal, charVal );
}
catch ( System::FormatException^ )
{
System::Console::WriteLine(
"The String is longer than one character." );
}
catch ( System::ArgumentNullException^ )
{
System::Console::WriteLine( "The String is 0." );
}
// A char to String conversion will always succeed.
stringVal = System::Convert::ToString( charVal );
System::Console::WriteLine( "The character as a String is {0}",
stringVal );
}
public void ConvertStringChar(string stringVal) {
char charVal = 'a';
// A string must be one character long to convert to char.
try {
charVal = System.Convert.ToChar(stringVal);
System.Console.WriteLine("{0} as a char is {1}",
stringVal, charVal);
}
catch (System.FormatException) {
System.Console.WriteLine(
"The string is longer than one character.");
}
catch (System.ArgumentNullException) {
System.Console.WriteLine("The string is null.");
}
// A char to string conversion will always succeed.
stringVal = System.Convert.ToString(charVal);
System.Console.WriteLine("The character as a string is {0}",
stringVal);
}
let convertStringChar (stringVal: string) =
let charVal = 'a'
// A string must be one character long to convert to char.
try
let charVal = Convert.ToChar stringVal
printfn $"{stringVal} as a char is {charVal}"
with
| :? FormatException ->
printfn "The string is longer than one character."
| :? ArgumentNullException ->
printfn "The string is null."
// A char to string conversion will always succeed.
let stringVal = Convert.ToString charVal
printfn $"The character as a string is {stringVal}"
Public Sub ConvertStringChar(ByVal stringVal As String)
Dim charVal As Char = "a"c
' A string must be one character long to convert to char.
Try
charVal = System.Convert.ToChar(stringVal)
System.Console.WriteLine("{0} as a char is {1}", _
stringVal, charVal)
Catch exception As System.FormatException
System.Console.WriteLine( _
"The string is longer than one character.")
Catch exception As System.ArgumentNullException
System.Console.WriteLine("The string is null.")
End Try
' A char to string conversion will always succeed.
stringVal = System.Convert.ToString(charVal)
System.Console.WriteLine("The character as a string is {0}", _
stringVal)
End Sub
注解
此实现与 相同 Char.ToString。
适用于
ToString(DateTime)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定的 DateTime 的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(DateTime value);
public static string ToString (DateTime value);
static member ToString : DateTime -> string
Public Shared Function ToString (value As DateTime) As String
参数
- value
- DateTime
要转换的日期和时间值。
返回
value
的字符串表示形式。
示例
以下示例将值数组 DateTime 中的每个元素转换为 String 值。
DateTime[] dates = { new DateTime(2009, 7, 14),
new DateTime(1, 1, 1, 18, 32, 0),
new DateTime(2009, 2, 12, 7, 16, 0) };
string result;
foreach (DateTime dateValue in dates)
{
result = Convert.ToString(dateValue);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
dateValue.GetType().Name, dateValue,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the DateTime value 7/14/2009 12:00:00 AM to a String value 7/14/2009 12:00:00 AM.
// Converted the DateTime value 1/1/0001 06:32:00 PM to a String value 1/1/0001 06:32:00 PM.
// Converted the DateTime value 2/12/2009 07:16:00 AM to a String value 2/12/2009 07:16:00 AM.
let dates =
[| DateTime(2009, 7, 14)
DateTime(1, 1, 1, 18, 32, 0)
DateTime(2009, 2, 12, 7, 16, 0) |]
for dateValue in dates do
let result = Convert.ToString dateValue
printfn $"Converted the {dateValue.GetType().Name} value {dateValue} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the DateTime value 7/14/2009 12:00:00 AM to a String value 7/14/2009 12:00:00 AM.
// Converted the DateTime value 1/1/0001 06:32:00 PM to a String value 1/1/0001 06:32:00 PM.
// Converted the DateTime value 2/12/2009 07:16:00 AM to a String value 2/12/2009 07:16:00 AM.
Dim dates() As Date = { #07/14/2009#, #6:32PM#, #02/12/2009 7:16AM#}
Dim result As String
For Each dateValue As Date In dates
result = Convert.ToString(dateValue)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
dateValue.GetType().Name, dateValue, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the DateTime value 7/14/2009 12:00:00 AM to a String value 7/14/2009 12:00:00 AM.
' Converted the DateTime value 1/1/0001 06:32:00 PM to a String value 1/1/0001 06:32:00 PM.
' Converted the DateTime value 2/12/2009 07:16:00 AM to a String value 2/12/2009 07:16:00 AM.
注解
此实现与 相同 DateTime.ToString()。 它使用当前区域性的格式设置约定和“G”格式说明符将值转换为 DateTime 其字符串表示形式。
适用于
ToString(Double)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定的双精度浮点数的值转换其等效的字符串表示形式。
public:
static System::String ^ ToString(double value);
public static string ToString (double value);
static member ToString : double -> string
Public Shared Function ToString (value As Double) As String
参数
- value
- Double
要转换的双精度浮点数。
返回
value
的字符串表示形式。
示例
public:
void ConvertDoubleString( double doubleVal )
{
String^ stringVal;
// A conversion from Double to String cannot overflow.
stringVal = System::Convert::ToString( doubleVal );
System::Console::WriteLine( " {0} as a String is: {1}",
doubleVal, stringVal );
try
{
doubleVal = System::Convert::ToDouble( stringVal );
System::Console::WriteLine( " {0} as a double is: {1}",
stringVal, doubleVal );
}
catch ( System::OverflowException^ )
{
System::Console::WriteLine( "Conversion from String-to-double overflowed." );
}
catch ( System::FormatException^ )
{
System::Console::WriteLine( "The String was not formatted as a double." );
}
catch ( System::ArgumentException^ )
{
System::Console::WriteLine( "The String pointed to null." );
}
}
public void ConvertDoubleString(double doubleVal) {
string stringVal;
// A conversion from Double to string cannot overflow.
stringVal = System.Convert.ToString(doubleVal);
System.Console.WriteLine("{0} as a string is: {1}",
doubleVal, stringVal);
try {
doubleVal = System.Convert.ToDouble(stringVal);
System.Console.WriteLine("{0} as a double is: {1}",
stringVal, doubleVal);
}
catch (System.OverflowException) {
System.Console.WriteLine(
"Conversion from string-to-double overflowed.");
}
catch (System.FormatException) {
System.Console.WriteLine(
"The string was not formatted as a double.");
}
catch (System.ArgumentException) {
System.Console.WriteLine(
"The string pointed to null.");
}
}
let convertDoubleString (doubleVal: float) =
// A conversion from Double to string cannot overflow.
let stringVal = Convert.ToString doubleVal
printfn $"{doubleVal} as a string is: {stringVal}"
try
let doubleVal = Convert.ToDouble stringVal
printfn $"{stringVal} as a double is: {doubleVal}"
with
| :? OverflowException ->
printfn "Conversion from string-to-double overflowed."
| :? FormatException ->
printfn "The string was not formatted as a double."
| :? ArgumentException ->
printfn "The string pointed to null."
Public Sub ConvertDoubleString(ByVal doubleVal As Double)
Dim stringVal As String
' A conversion from Double to String cannot overflow.
stringVal = System.Convert.ToString(doubleVal)
System.Console.WriteLine("{0} as a String is: {1}", _
doubleVal, stringVal)
Try
doubleVal = System.Convert.ToDouble(stringVal)
System.Console.WriteLine("{0} as a Double is: {1}", _
stringVal, doubleVal)
Catch exception As System.OverflowException
System.Console.WriteLine( _
"Overflow in String-to-Double conversion.")
Catch exception As System.FormatException
System.Console.WriteLine( _
"The string is not formatted as a Double.")
Catch exception As System.ArgumentException
System.Console.WriteLine("The string is null.")
End Try
End Sub
注解
此实现与 相同 Double.ToString()。
适用于
ToString(Int16)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定的 16 位带符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(short value);
public static string ToString (short value);
static member ToString : int16 -> string
Public Shared Function ToString (value As Short) As String
参数
- value
- Int16
要转换的 16 位带符号整数。
返回
value
的字符串表示形式。
示例
以下示例将 16 位整数数组中的每个元素转换为其等效的字符串表示形式。
short[] numbers = { Int16.MinValue, -138, 0, 19, Int16.MaxValue };
string result;
foreach (short number in numbers)
{
result = Convert.ToString(number);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
number.GetType().Name, number,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the Int16 value -32768 to the String value -32768.
// Converted the Int16 value -138 to the String value -138.
// Converted the Int16 value 0 to the String value 0.
// Converted the Int16 value 19 to the String value 19.
// Converted the Int16 value 32767 to the String value 32767.
let numbers = [| Int16.MinValue; -138s; 0s; 19s; Int16.MaxValue |]
for number in numbers do
let result = Convert.ToString number
printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the Int16 value -32768 to the String value -32768.
// Converted the Int16 value -138 to the String value -138.
// Converted the Int16 value 0 to the String value 0.
// Converted the Int16 value 19 to the String value 19.
// Converted the Int16 value 32767 to the String value 32767.
Dim numbers() As Short = { Int16.MinValue, -138, 0, 19, Int16.MaxValue }
Dim result As String
For Each number As Short In numbers
result = Convert.ToString(number)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
number.GetType().Name, number, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the Int16 value -32768 to the String value -32768.
' Converted the Int16 value -138 to the String value -138.
' Converted the Int16 value 0 to the String value 0.
' Converted the Int16 value 19 to the String value 19.
' Converted the Int16 value 32767 to the String value 32767.
注解
此实现与 相同 Int16.ToString()。
适用于
ToString(Int32)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定的 32 位带符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(int value);
public static string ToString (int value);
static member ToString : int -> string
Public Shared Function ToString (value As Integer) As String
参数
- value
- Int32
要转换的 32 位带符号整数。
返回
value
的字符串表示形式。
示例
以下示例将 ToString(Int32) 方法与 ToString(UInt16, IFormatProvider) 方法进行比较。 它定义一个自定义 NumberFormatInfo 对象,该对象使用 sting“减号”来表示负号。 它使用默认格式 (当前区域性) 和自定义格式提供程序的格式约定,将整数数组中的每个元素转换为其等效的字符串表示形式。
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
// Create a NumberFormatInfo object and set its NegativeSigns
// property to use for integer formatting.
NumberFormatInfo provider = new NumberFormatInfo();
provider.NegativeSign = "minus ";
int[] values = { -20, 0, 100 };
Console.WriteLine("{0,-8} --> {1,10} {2,10}\n", "Value",
CultureInfo.CurrentCulture.Name,
"Custom");
foreach (int value in values)
Console.WriteLine("{0,-8} --> {1,10} {2,10}",
value, Convert.ToString(value),
Convert.ToString(value, provider));
// The example displays output like the following:
// Value --> en-US Custom
//
// -20 --> -20 minus 20
// 0 --> 0 0
// 100 --> 100 100
}
}
open System
open System.Globalization
// Create a NumberFormatInfo object and set its NegativeSigns
// property to use for integer formatting.
let provider = NumberFormatInfo()
provider.NegativeSign <- "minus "
let values = [| -20; 0; 100 |]
printfn $"""{CultureInfo.CurrentCulture.Name,-8} --> {"Value",10} {"Custom",10}\n"""
for value in values do
printfn $"{value,-8} --> {Convert.ToString value,10} {Convert.ToString(value, provider),10}"
// The example displays output like the following:
// Value --> en-US Custom
//
// -20 --> -20 minus 20
// 0 --> 0 0
// 100 --> 100 100
Imports System.Globalization
Module Example
Public Sub Main()
' Create a NumberFormatInfo object and set its NegativeSigns
' property to use for integer formatting.
Dim provider As New NumberFormatInfo()
provider.NegativeSign = "minus "
Dim values() As Integer = { -20, 0, 100 }
Console.WriteLine("{0,-8} --> {1,10} {2,10}", "Value",
CultureInfo.CurrentCulture.Name,
"Custom")
Console.WriteLine()
For Each value As Integer In values
Console.WriteLine("{0,-8} --> {1,10} {2,10}",
value, Convert.ToString(value),
Convert.ToString(value, provider))
Next
End Sub
End Module
' The example displays output like the following:
' Value --> en-US Custom
'
' -20 --> -20 minus 20
' 0 --> 0 0
' 100 --> 100 100
注解
此实现与 相同 Int32.ToString()。
value
它通过使用当前区域性的格式设置约定来设置格式。
适用于
ToString(Decimal)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定的十进制数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::Decimal value);
public static string ToString (decimal value);
static member ToString : decimal -> string
Public Shared Function ToString (value As Decimal) As String
参数
- value
- Decimal
要转换的十进制数。
返回
value
的字符串表示形式。
示例
public:
void ConvertStringDecimal( String^ stringVal )
{
Decimal decimalVal = 0;
try
{
decimalVal = System::Convert::ToDecimal( stringVal );
System::Console::WriteLine( "The String as a decimal is {0}.",
decimalVal );
}
catch ( System::OverflowException^ )
{
System::Console::WriteLine(
"The conversion from String to decimal overflowed." );
}
catch ( System::FormatException^ )
{
System::Console::WriteLine(
"The String is not formatted as a decimal." );
}
catch ( System::ArgumentNullException^ )
{
System::Console::WriteLine( "The String is 0." );
}
// Decimal to String conversion will not overflow.
stringVal = System::Convert::ToString( decimalVal );
System::Console::WriteLine(
"The decimal as a String is {0}.", stringVal );
}
public void ConvertStringDecimal(string stringVal) {
decimal decimalVal = 0;
try {
decimalVal = System.Convert.ToDecimal(stringVal);
System.Console.WriteLine(
"The string as a decimal is {0}.", decimalVal);
}
catch (System.OverflowException){
System.Console.WriteLine(
"The conversion from string to decimal overflowed.");
}
catch (System.FormatException) {
System.Console.WriteLine(
"The string is not formatted as a decimal.");
}
catch (System.ArgumentNullException) {
System.Console.WriteLine(
"The string is null.");
}
// Decimal to string conversion will not overflow.
stringVal = System.Convert.ToString(decimalVal);
System.Console.WriteLine(
"The decimal as a string is {0}.", stringVal);
}
let convertStringDecimal (stringVal: string) =
let decimalVal = 0m
try
let decimalVal = Convert.ToDecimal(stringVal)
printfn $"The string as a decimal is {decimalVal}."
with
| :? OverflowException ->
printfn "The conversion from string to decimal overflowed."
| :? FormatException ->
printfn "The string is not formatted as a decimal."
| :? ArgumentNullException ->
printfn "The string is null."
// Decimal to string conversion will not overflow.
let stringVal = Convert.ToString decimalVal
printfn $"The decimal as a string is {stringVal}."
Public Sub ConvertStringDecimal(ByVal stringVal As String)
Dim decimalVal As Decimal = 0
Try
decimalVal = System.Convert.ToDecimal(stringVal)
System.Console.WriteLine("The string as a decimal is {0}.", _
decimalVal)
Catch exception As System.OverflowException
System.Console.WriteLine( _
"Overflow in string-to-decimal conversion.")
Catch exception As System.FormatException
System.Console.WriteLine( _
"The string is not formatted as a decimal.")
Catch exception As System.ArgumentException
System.Console.WriteLine("The string is null.")
End Try
' Decimal to string conversion will not overflow.
stringVal = System.Convert.ToString(decimalVal)
System.Console.WriteLine("The decimal as a string is {0}.", _
stringVal)
End Sub
注解
此实现与 相同 Decimal.ToString()。
适用于
ToString(Object)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定对象的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::Object ^ value);
public static string ToString (object value);
public static string? ToString (object? value);
static member ToString : obj -> string
Public Shared Function ToString (value As Object) As String
参数
- value
- Object
一个对象,用于提供要转换的值,或 null
。
返回
value
的字符串表现形式;如果 value
为 null
,则为 Empty。
示例
以下示例将对象数组中的每个元素转换为其等效的字符串表示形式。
object[] values = { false, 12.63m, new DateTime(2009, 6, 1, 6, 32, 15), 16.09e-12,
'Z', 15.15322, SByte.MinValue, Int32.MaxValue };
string result;
foreach (object value in values)
{
result = Convert.ToString(value);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
value.GetType().Name, value,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the Boolean value False to the String value False.
// Converted the Decimal value 12.63 to the String value 12.63.
// Converted the DateTime value 6/1/2009 06:32:15 AM to the String value 6/1/2009 06:32:15 AM.
// Converted the Double value 1.609E-11 to the String value 1.609E-11.
// Converted the Char value Z to the String value Z.
// Converted the Double value 15.15322 to the String value 15.15322.
// Converted the SByte value -128 to the String value -128.
// Converted the Int32 value 2147483647 to the String value 2147483647.
let values: obj[] =
[| false; 12.63m; DateTime(2009, 6, 1, 6, 32, 15)
16.09e-12; 'Z'; 15.15322; SByte.MinValue; Int32.MaxValue |]
for value in values do
let result = Convert.ToString value
printfn $"Converted the {value.GetType().Name} value {value} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the Boolean value False to the String value False.
// Converted the Decimal value 12.63 to the String value 12.63.
// Converted the DateTime value 6/1/2009 06:32:15 AM to the String value 6/1/2009 06:32:15 AM.
// Converted the Double value 1.609E-11 to the String value 1.609E-11.
// Converted the Char value Z to the String value Z.
// Converted the Double value 15.15322 to the String value 15.15322.
// Converted the SByte value -128 to the String value -128.
// Converted the Int32 value 2147483647 to the String value 2147483647.
Dim values() As Object = { False, 12.63d, #06/01/2009 6:32:15#, 16.09e-12, _
"Z"c, 15.15322, SByte.MinValue, Int32.MaxValue}
Dim result As String
For Each value As Object In values
result = Convert.ToString(value)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
value.GetType().Name, value, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the Boolean value False to the String value False.
' Converted the Decimal value 12.63 to the String value 12.63.
' Converted the DateTime value 6/1/2009 06:32:15 AM to the String value 6/1/2009 06:32:15 AM.
' Converted the Double value 1.609E-11 to the String value 1.609E-11.
' Converted the Char value Z to the String value Z.
' Converted the Double value 15.15322 to the String value 15.15322.
' Converted the SByte value -128 to the String value -128.
' Converted the Int32 value 2147483647 to the String value 2147483647.
注解
为了转换为 value
其字符串表示形式, 方法尝试调用 IConvertible.ToString 的 value
实现。 如果未 value
实现 IConvertible 接口,则 方法会尝试调用 IFormattable.ToString 的 value
实现。 如果 value 未实现 IFormattable 接口,则 方法将调用 ToString
基础类型的 value
方法。
适用于
ToString(SByte)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
重要
此 API 不符合 CLS。
将指定的 8 位带符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::SByte value);
[System.CLSCompliant(false)]
public static string ToString (sbyte value);
[<System.CLSCompliant(false)>]
static member ToString : sbyte -> string
Public Shared Function ToString (value As SByte) As String
参数
- value
- SByte
要转换的 8 位带符号整数。
返回
value
的字符串表示形式。
- 属性
示例
以下示例将带符号字节数组中的每个元素转换为其等效的字符串表示形式。
sbyte[] numbers = { SByte.MinValue, -12, 0, 16, SByte.MaxValue };
string result;
foreach (sbyte number in numbers)
{
result = Convert.ToString(number);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
number.GetType().Name, number,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the SByte value -128 to the String value -128.
// Converted the SByte value -12 to the String value -12.
// Converted the SByte value 0 to the String value 0.
// Converted the SByte value 16 to the String value 16.
// Converted the SByte value 127 to the String value 127.
let numbers = [| SByte.MinValue; -12y; 0y; 16y; SByte.MaxValue |]
for number in numbers do
let result = Convert.ToString number
printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the SByte value -128 to the String value -128.
// Converted the SByte value -12 to the String value -12.
// Converted the SByte value 0 to the String value 0.
// Converted the SByte value 16 to the String value 16.
// Converted the SByte value 127 to the String value 127.
Dim numbers() As SByte = { SByte.MinValue, -12, 0, 16, SByte.MaxValue }
Dim result As String
For Each number As SByte In numbers
result = Convert.ToString(number)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
number.GetType().Name, number, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the SByte value -128 to the String value -128.
' Converted the SByte value -12 to the String value -12.
' Converted the SByte value 0 to the String value 0.
' Converted the SByte value 16 to the String value 16.
' Converted the SByte value 127 to the String value 127.
注解
此实现与 完全相同 SByte.ToString()。
适用于
ToString(Single)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定的单精度浮点数的值转换其等效的字符串表示形式。
public:
static System::String ^ ToString(float value);
public static string ToString (float value);
static member ToString : single -> string
Public Shared Function ToString (value As Single) As String
参数
- value
- Single
要转换的单精度浮点数。
返回
value
的字符串表示形式。
示例
以下示例将值数组中的每个元素转换为其等效的 Single 字符串表示形式。
float[] numbers = { Single.MinValue, -1011.351f, -17.45f, -3e-16f,
0f, 4.56e-12f, 16.0001f, 10345.1221f, Single.MaxValue };
string result;
foreach (float number in numbers)
{
result = Convert.ToString(number);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
number.GetType().Name, number,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the Single value -3.402823E+38 to the String value -3.402823E+38.
// Converted the Single value -1011.351 to the String value -1011.351.
// Converted the Single value -17.45 to the String value -17.45.
// Converted the Single value -3E-16 to the String value -3E-16.
// Converted the Single value 0 to the String value 0.
// Converted the Single value 4.56E-12 to the String value 4.56E-12.
// Converted the Single value 16.0001 to the String value 16.0001.
// Converted the Single value 10345.12 to the String value 10345.12.
// Converted the Single value 3.402823E+38 to the String value 3.402823E+38.
let numbers =
[| Single.MinValue; -1011.351f; -17.45f; -3e-16f; 0f; 4.56e-12f; 16.0001f; 10345.1221f; Single.MaxValue |]
for number in numbers do
let result = Convert.ToString number
printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the Single value -3.402823E+38 to the String value -3.402823E+38.
// Converted the Single value -1011.351 to the String value -1011.351.
// Converted the Single value -17.45 to the String value -17.45.
// Converted the Single value -3E-16 to the String value -3E-16.
// Converted the Single value 0 to the String value 0.
// Converted the Single value 4.56E-12 to the String value 4.56E-12.
// Converted the Single value 16.0001 to the String value 16.0001.
// Converted the Single value 10345.12 to the String value 10345.12.
// Converted the Single value 3.402823E+38 to the String value 3.402823E+38.
Dim numbers() As Single = { Single.MinValue, -1011.351, -17.45, -3e-16, _
0, 4.56e-12, 16.0001, 10345.1221, Single.MaxValue }
Dim result As String
For Each number As Single In numbers
result = Convert.ToString(number)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
number.GetType().Name, number, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the Single value -3.402823E+38 to the String value -3.402823E+38.
' Converted the Single value -1011.351 to the String value -1011.351.
' Converted the Single value -17.45 to the String value -17.45.
' Converted the Single value -3E-16 to the String value -3E-16.
' Converted the Single value 0 to the String value 0.
' Converted the Single value 4.56E-12 to the String value 4.56E-12.
' Converted the Single value 16.0001 to the String value 16.0001.
' Converted the Single value 10345.12 to the String value 10345.12.
' Converted the Single value 3.402823E+38 to the String value 3.402823E+38.
注解
此实现与 完全相同 Single.ToString()。
适用于
ToString(String)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
返回指定的字符串实例;不执行任何实际转换。
public:
static System::String ^ ToString(System::String ^ value);
public static string? ToString (string? value);
public static string ToString (string value);
static member ToString : string -> string
Public Shared Function ToString (value As String) As String
参数
- value
- String
要返回的字符串。
返回
不经更改即返回 value
。
示例
以下示例将字符串传递给 方法, ToString(String) 并调用 Object.ReferenceEquals 方法以确认该方法返回原始字符串。 该示例还调用 String.IsInterned 方法,以确保两个字符串不完全相同,因为原始字符串是实习生。
using System;
public class Example
{
public static void Main()
{
String article = "An";
String noun = "apple";
String str1 = String.Format("{0} {1}", article, noun);
String str2 = Convert.ToString(str1);
Console.WriteLine("str1 is interned: {0}",
! (String.IsInterned(str1) == null));
Console.WriteLine("str1 and str2 are the same reference: {0}",
Object.ReferenceEquals(str1, str2));
}
}
// The example displays the following output:
// str1 is interned: False
// str1 and str2 are the same reference: True
open System
let article = "An"
let noun = "apple"
let str1 = $"{article} {noun}"
let str2 = Convert.ToString str1
printfn $"str1 is interned: {String.IsInterned str1 <> null}"
printfn $"str1 and str2 are the same reference: {Object.ReferenceEquals(str1, str2)}"
// The example displays the following output:
// str1 is interned: False
// str1 and str2 are the same reference: True
Module Example
Public Sub Main()
Dim article As String = "An"
Dim noun As String = "apple"
Dim str1 As String = String.Format("{0} {1}", article, noun)
Dim str2 As String = Convert.ToString(str1)
Console.WriteLine("str1 is interned: {0}",
Not String.IsInterned(str1) Is Nothing)
Console.WriteLine("str1 and str2 are the same reference: {0}",
Object.ReferenceEquals(str1, str2))
End Sub
End Module
' The example displays the following output:
' str1 is interned: False
' str1 and str2 are the same reference: True
适用于
ToString(UInt16)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
重要
此 API 不符合 CLS。
将指定的 16 位无符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::UInt16 value);
[System.CLSCompliant(false)]
public static string ToString (ushort value);
[<System.CLSCompliant(false)>]
static member ToString : uint16 -> string
Public Shared Function ToString (value As UShort) As String
参数
- value
- UInt16
要转换的 16 位无符号整数。
返回
value
的字符串表示形式。
- 属性
示例
以下示例将无符号 16 位整数值数组中的每个元素转换为其等效的字符串表示形式。
ushort[] numbers = { UInt16.MinValue, 103, 1045, UInt16.MaxValue };
string result;
foreach (ushort number in numbers)
{
result = Convert.ToString(number);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
number.GetType().Name, number,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the UInt16 value 0 to the String value 0.
// Converted the UInt16 value 103 to the String value 103.
// Converted the UInt16 value 1045 to the String value 1045.
// Converted the UInt16 value 65535 to the String value 65535.
let numbers = [| UInt16.MinValue; 103us; 1045us; UInt16.MaxValue |]
for number in numbers do
let result = Convert.ToString number
printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the UInt16 value 0 to the String value 0.
// Converted the UInt16 value 103 to the String value 103.
// Converted the UInt16 value 1045 to the String value 1045.
// Converted the UInt16 value 65535 to the String value 65535.
Dim numbers() As UShort = { UInt16.MinValue, 103, 1045, UInt16.MaxValue }
Dim result As String
For Each number As UShort In numbers
result = Convert.ToString(number)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
number.GetType().Name, number, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the UInt16 value 0 to the String value 0.
' Converted the UInt16 value 103 to the String value 103.
' Converted the UInt16 value 1045 to the String value 1045.
' Converted the UInt16 value 65535 to the String value 65535.
注解
此实现与 完全相同 UInt16.ToString()。
适用于
ToString(UInt32)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
重要
此 API 不符合 CLS。
将指定的 32 位无符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::UInt32 value);
[System.CLSCompliant(false)]
public static string ToString (uint value);
[<System.CLSCompliant(false)>]
static member ToString : uint32 -> string
Public Shared Function ToString (value As UInteger) As String
参数
- value
- UInt32
要转换的 32 位无符号整数。
返回
value
的字符串表示形式。
- 属性
示例
以下示例将无符号整数数组中的每个元素转换为其等效的字符串表示形式。
uint[] numbers = { UInt32.MinValue, 103, 1045, 119543, UInt32.MaxValue };
string result;
foreach (uint number in numbers)
{
result = Convert.ToString(number);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
number.GetType().Name, number,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the UInt32 value 0 to the String value 0.
// Converted the UInt32 value 103 to the String value 103.
// Converted the UInt32 value 1045 to the String value 1045.
// Converted the UInt32 value 119543 to the String value 119543.
// Converted the UInt32 value 4294967295 to the String value 4294967295.
let numbers = [| UInt32.MinValue; 103u; 1045u; 119543u; UInt32.MaxValue |]
for number in numbers do
let result = Convert.ToString number
printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the UInt32 value 0 to the String value 0.
// Converted the UInt32 value 103 to the String value 103.
// Converted the UInt32 value 1045 to the String value 1045.
// Converted the UInt32 value 119543 to the String value 119543.
// Converted the UInt32 value 4294967295 to the String value 4294967295.
Dim numbers() As UInteger = { UInt32.MinValue, 103, 1045, 119543, UInt32.MaxValue }
Dim result As String
For Each number As UInteger In numbers
result = Convert.ToString(number)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
number.GetType().Name, number, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the UInt32 value 0 to the String value 0.
' Converted the UInt32 value 103 to the String value 103.
' Converted the UInt32 value 1045 to the String value 1045.
' Converted the UInt32 value 119543 to the String value 119543.
' Converted the UInt32 value 4294967295 to the String value 4294967295.
注解
此实现与 完全相同 UInt32.ToString()。
适用于
ToString(UInt64)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
重要
此 API 不符合 CLS。
将指定的 64 位无符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(System::UInt64 value);
[System.CLSCompliant(false)]
public static string ToString (ulong value);
[<System.CLSCompliant(false)>]
static member ToString : uint64 -> string
Public Shared Function ToString (value As ULong) As String
参数
- value
- UInt64
要转换的 64 位无符号整数。
返回
value
的字符串表示形式。
- 属性
示例
以下示例将无符号长整数数组中的每个元素转换为其等效的字符串表示形式。
ulong[] numbers = { UInt64.MinValue, 1031, 189045, UInt64.MaxValue };
string result;
foreach (ulong number in numbers)
{
result = Convert.ToString(number);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
number.GetType().Name, number,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the UInt64 value 0 to the String value 0.
// Converted the UInt64 value 1031 to the String value 1031.
// Converted the UInt64 value 189045 to the String value 189045.
// Converted the UInt64 value 18446744073709551615 to the String value 18446744073709551615.
let numbers = [| UInt64.MinValue; 1031uL; 189045uL; UInt64.MaxValue |]
for number in numbers do
let result = Convert.ToString number
printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the UInt64 value 0 to the String value 0.
// Converted the UInt64 value 1031 to the String value 1031.
// Converted the UInt64 value 189045 to the String value 189045.
// Converted the UInt64 value 18446744073709551615 to the String value 18446744073709551615.
Dim numbers() As ULong = { UInt64.MinValue, 1031, 189045, UInt64.MaxValue }
Dim result As String
For Each number As ULong In numbers
result = Convert.ToString(number)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
number.GetType().Name, number, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the UInt64 value 0 to the String value 0.
' Converted the UInt64 value 1031 to the String value 1031.
' Converted the UInt64 value 189045 to the String value 189045.
' Converted the UInt64 value 18446744073709551615 to the String value 18446744073709551615.
注解
此实现与 完全相同 UInt64.ToString()。
适用于
ToString(Int64)
- Source:
- Convert.cs
- Source:
- Convert.cs
- Source:
- Convert.cs
将指定的 64 位带符号整数的值转换为其等效的字符串表示形式。
public:
static System::String ^ ToString(long value);
public static string ToString (long value);
static member ToString : int64 -> string
Public Shared Function ToString (value As Long) As String
参数
- value
- Int64
要转换的 64 位带符号整数。
返回
value
的字符串表示形式。
示例
以下示例将长整数数组中的每个元素转换为其等效的字符串表示形式。
// Create a NumberFormatInfo object and set several of its
// properties that control default integer formatting.
System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo();
provider.NegativeSign = "minus ";
long[] values = { -200, 0, 1000 };
foreach (long value in values)
Console.WriteLine("{0,-6} --> {1,10}",
value, Convert.ToString(value, provider));
// The example displays the following output:
// -200 --> minus 200
// 0 --> 0
// 1000 --> 1000
// Create a NumberFormatInfo object and set several of its
// properties that control default integer formatting.
let provider = System.Globalization.NumberFormatInfo()
provider.NegativeSign <- "minus "
let values = [| -200; 0; 1000 |]
for value in values do
printfn $"{value,-6} --> {Convert.ToString(value, provider),10}"
// The example displays the following output:
// -200 --> minus 200
// 0 --> 0
// 1000 --> 1000
' Create a NumberFormatInfo object and set several of its
' properties that control default integer formatting.
Dim provider As New System.Globalization.NumberFormatInfo()
provider.NegativeSign = "minus "
Dim values() As Long = { -200, 0, 1000 }
For Each value As Long In values
Console.WriteLine("{0,-6} --> {1,10}", _
value, Convert.ToString(value, provider))
Next
' The example displays the following output:
' -200 --> minus 200
' 0 --> 0
' 1000 --> 1000
注解
此实现与 完全相同 Int64.ToString()。