NumberFormatInfo.PercentGroupSizes 属性

获取或设置百分比值中小数点左边的每一组的位数。

**命名空间:**System.Globalization
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public Property PercentGroupSizes As Integer()
用法
Dim instance As NumberFormatInfo
Dim value As Integer()

value = instance.PercentGroupSizes

instance.PercentGroupSizes = value
public int[] PercentGroupSizes { get; set; }
public:
property array<int>^ PercentGroupSizes {
    array<int>^ get ();
    void set (array<int>^ value);
}
/** @property */
public int[] get_PercentGroupSizes ()

/** @property */
public void set_PercentGroupSizes (int[] value)
public function get PercentGroupSizes () : int[]

public function set PercentGroupSizes (value : int[])

属性值

百分比值中小数点左边的每一组的位数。InvariantInfo 的默认值是一个一维数组,该数组只包含一个设置为 3 的元素。

异常

异常类型 条件

ArgumentNullException

该属性被设置为 空引用(在 Visual Basic 中为 Nothing)。

ArgumentException

试图设置该属性,但此数组包含一个小于 0 或大于 9 的项。

- 或 -

试图设置该属性,但此数组包含一个设置为 0 的项(最后一项除外)。

InvalidOperationException

设置该属性,并且 NumberFormatInfo 是只读的。

备注

一维数组中的每个元素都必须是从 1 到 9 的整数。最后一个元素可以是 0。

数组的第一个元素定义紧靠 PercentDecimalSeparator 左边的最低有效数字组中的元素数。后面的每个元素指示前一组左边的下一个有效数字组。如果数组的最后一个元素不为 0,则将根据数组中的最后一个元素对其余的数字进行分组。如果最后一个元素为 0,则不对其余数字进行分组。

例如,如果该数组包含 { 3, 4, 5 },则对数字的分组将类似于“55,55555,55555,55555,4444,333.00%”。如果该数组包含 { 3, 4, 0 },则对数字的分组将类似于“55555555555555555,4444,333.00%”。

示例

下面的代码示例演示了更改 PercentGroupSizes 属性的结果。

Imports System
Imports System.Globalization

Class NumberFormatInfoSample

   Public Shared Sub Main()

      ' Gets a NumberFormatInfo associated with the en-US culture.
      Dim nfi As NumberFormatInfo = New CultureInfo("en-US", False).NumberFormat

      ' Displays a value with the default separator (".").
      Dim myInt As [Double] = 123456789012345.6789
      Console.WriteLine(myInt.ToString("P", nfi))

      ' Displays the same value with different groupings.
      Dim mySizes1 As Integer() =  {2, 3, 4}
      Dim mySizes2 As Integer() =  {2, 3, 0}
      nfi.PercentGroupSizes = mySizes1
      Console.WriteLine(myInt.ToString("P", nfi))
      nfi.PercentGroupSizes = mySizes2
      Console.WriteLine(myInt.ToString("P", nfi))

   End Sub 'Main 

End Class 'NumberFormatInfoSample


'This code produces the following output.

'

'12,345,678,901,234,600.00 %

'1234,5678,9012,346,00.00 %

'123456789012,346,00.00 %

using System;
using System.Globalization;

class NumberFormatInfoSample {

   public static void Main() {

      // Gets a NumberFormatInfo associated with the en-US culture.
      NumberFormatInfo nfi = new CultureInfo( "en-US", false ).NumberFormat;

      // Displays a value with the default separator (".").
      Double myInt = 123456789012345.6789;
      Console.WriteLine( myInt.ToString( "P", nfi ) );

      // Displays the same value with different groupings.
      int[] mySizes1 = {2,3,4};
      int[] mySizes2 = {2,3,0};
      nfi.PercentGroupSizes = mySizes1;
      Console.WriteLine( myInt.ToString( "P", nfi ) );
      nfi.PercentGroupSizes = mySizes2;
      Console.WriteLine( myInt.ToString( "P", nfi ) );

   }
}


/* 
This code produces the following output.

12,345,678,901,234,600.00 %
1234,5678,9012,346,00.00 %
123456789012,346,00.00 %
*/
   
using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Gets a NumberFormatInfo associated with the en-US culture.
   CultureInfo^ MyCI = gcnew CultureInfo( "en-US",false );
   NumberFormatInfo^ nfi = MyCI->NumberFormat;
   
   // Displays a value with the default separator (S".").
   Double myInt = 123456789012345.6789;
   Console::WriteLine( myInt.ToString( "P", nfi ) );
   
   // Displays the same value with different groupings.
   array<Int32>^mySizes1 = {2,3,4};
   array<Int32>^mySizes2 = {2,3,0};
   nfi->PercentGroupSizes = mySizes1;
   Console::WriteLine( myInt.ToString( "P", nfi ) );
   nfi->PercentGroupSizes = mySizes2;
   Console::WriteLine( myInt.ToString( "P", nfi ) );
}

/*
This code produces the following output.

12, 345, 678, 901, 234, 600.00 %
1234, 5678, 9012, 346, 00.00 %
123456789012, 346, 00.00 %
*/
import System.*;
import System.Globalization.*;

class NumberFormatInfoSample
{
    public static void main(String[] args)
    {
        // Gets a NumberFormatInfo associated with the en-US culture.
        NumberFormatInfo nfi = (new CultureInfo("en-US", false)).
            get_NumberFormat();
        // Displays a value with the default separator (".").
        System.Double myInt = (System.Double)123456789012346L;
        Console.WriteLine(myInt.ToString("P", nfi));
        // Displays the same value with different groupings.
        int mySizes1[] =  { 2, 3, 4 };
        int mySizes2[] =  { 2, 3, 0 };
        nfi.set_PercentGroupSizes(mySizes1);
        Console.WriteLine(myInt.ToString("P", nfi));
        nfi.set_PercentGroupSizes(mySizes2);
        Console.WriteLine(myInt.ToString("P", nfi));
    } //main 
} //NumberFormatInfoSample

/* 
This code produces the following output.

12,345,678,901,234,600.00 %
1234,5678,9012,346,00.00 %
123456789012,346,00.00 %
*/

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

NumberFormatInfo 类
NumberFormatInfo 成员
System.Globalization 命名空间
NumberFormatInfo.PercentDecimalDigits 属性
NumberFormatInfo.PercentDecimalSeparator 属性
NumberFormatInfo.PercentGroupSeparator 属性
PercentSymbol
PercentNegativePattern
PercentPositivePattern
NumberFormatInfo.CurrencyGroupSizes 属性
NumberFormatInfo.NumberGroupSizes 属性