Delen via


Standaardtekenreeksen voor numerieke notatie

Standaardtekenreeksen voor numerieke notatie worden gebruikt om algemene numerieke typen op te maken. Een standaardtekenreeks voor numerieke notatie heeft de volgende notatie [format specifier][precision specifier]:

  • De notatieaanduiding is één alfabetisch teken dat het type getalnotatie aangeeft, bijvoorbeeld valuta of percentage. Elke tekenreeks met numerieke notatie die meer dan één alfabetisch teken bevat, inclusief witruimte, wordt geïnterpreteerd als een aangepaste tekenreeks voor numerieke notatie. Ga naar Tekenreeksen met een aangepaste numerieke notatie voor meer informatie.

  • Precisieaanduiding is een optioneel geheel getal dat van invloed is op het aantal cijfers in de resulterende tekenreeks. De precisieaanduiding bepaalt het aantal cijfers in de tekenreeksweergave van een getal.

    Wanneer de precisieaanduiding het aantal breukcijferen in de resultaattekenreeks bepaalt, geeft de resultaattekenreeks een getal weer dat wordt afgerond op een vertegenwoordigbaar resultaat dat het dichtst bij het oneindig nauwkeurige resultaat ligt.

    Notitie

    De precisieaanduiding bepaalt het aantal cijfers in de resultaattekenreeks. Als u een resultaattekenreeks wilt opmaken met voorloop- of volgspaties of andere tekens (zoals een 0), gebruikt u de functies Text.PadStart en Text.PadEnd en gebruikt u de totale lengte count in deze functies om de resultaattekenreeks te voltooien.

Standaardtekenreeksen voor numerieke notatie worden ondersteund door de functie Number.ToText.

Standaardnotatieaanduidingen

In de volgende tabel worden de standaardaanduidingen voor numerieke notaties beschreven en worden voorbeelduitvoer weergegeven die door elke indelingsaanduiding wordt geproduceerd. Ga naar de sectie Notities voor meer informatie over het gebruik van standaardtekenreeksen voor numerieke notaties en de sectie Codevoorbeeld voor een uitgebreide illustratie van het gebruik ervan.

Notitie

Het resultaat van een opgemaakte tekenreeks voor een specifieke cultuur kan afwijken van de volgende voorbeelden. Besturingssysteeminstellingen, gebruikersinstellingen, omgevingsvariabelen en andere instellingen op het systeem dat u gebruikt, kunnen allemaal van invloed zijn op de indeling.

Opmaakaanduiding Name Beschrijving Voorbeelden
"C" of "c" Valuta Resultaat: Een valutawaarde.

Ondersteund door: Alle numerieke typen.

Precisieaanduiding: Aantal decimalen.

Standaardprecisieaanduiding: gedefinieerd door de cultuur.

Meer informatie: De valutanotatie ("C") Specifier.
123.456 ("C", en-US)
-> \$123,46

123.456 ("C", fr-FR)
-> 123,46 €

123.456 ("C", ja-JP)
-> {123)

-123.456 ("C3", en-US)
-> (\$123,456)

-123.456 ("C3", fr-FR)
-> -123,456 €

-123.456 ("C3", ja-JP)
-> -**123.456
"D" of "d" Decimal Resultaat: Gehele getallen met optioneel negatief teken.

Alleen ondersteund door: Integrale typen.

Precisieaanduiding: Minimumaantal cijfers.

Standaardprecisieaanduiding: Minimaal aantal cijfers vereist.

Meer informatie: De decimaal("D") Notatieaanduiding.
1234 ("D")
-> 1234

-1234 ("D6")
-> -001234
"E" of "e" Exponentieel (wetenschappelijk) Resultaat: Exponentiële notatie.

Ondersteund door: Alle numerieke typen.

Precisieaanduiding: Aantal decimalen.

Standaardprecisieaanduiding: 6.

Meer informatie: De Exponentiële notatieaanduiding (E).
1052.0329112756 ("E", en-US)
-> 1.052033E+003

1052.0329112756 ("e", fr-FR)
-> 1.052033e+003

-1052.0329112756 ("e2", en-US)
-> -1,05e+003

-1052.0329112756 ("E2", fr-FR)
-> -1.05E+003
"F" of "f" Vast punt Resultaat: Integrale en decimale cijfers met optioneel negatief teken.

Ondersteund door: Alle numerieke typen.

Precisieaanduiding: Aantal decimalen.

Standaardprecisieaanduiding: gedefinieerd door de cultuur.

Meer informatie: De Specifier van de vaste puntnotatie ('F').
1234.567 ("F", en-US)
-> 1234.57

1234.567 ("F", de-DE)
-> 1234,57

1234 ("F1", en-US)
-> 1234.0

1234 ("F1", de-DE)
-> 1234,0

-1234.56 ("F4", en-US)
-> -1234.5600

-1234.56 ("F4", de-DE)
-> -1234.5600
"G" of "g" Algemeen Resultaat: Hoe compacter de vaste punt- of wetenschappelijke notatie.

Ondersteund door: Alle numerieke typen.

Precisieaanduiding: Aantal significante cijfers.

Standaardprecisieaanduiding: afhankelijk van numeriek type.

Meer informatie: De algemene notatieaanduiding (G).
-123.456 ("G", en-US)
-> -123.456

-123.456 ("G", sv-SE)
-> -123.456

123.4546 ("G4", en-US)
-> 123.5

123.4546 ("G4", sv-SE)
-> 123,5

-1.234567890e-25 ("G", en-US)
-> -1.23456789E-25

-1.234567890e-25 ("G", sv-SE)
-> -1.23456789E-25
"N" of "n" Aantal Resultaat: Integrale en decimale cijfers, groepsscheidingstekens en een decimaalteken met optioneel negatief teken.

Ondersteund door: Alle numerieke typen.

Precisieaanduiding: Gewenst aantal decimalen.

Standaardprecisieaanduiding: gedefinieerd door de cultuur.

Meer informatie: De numerieke notatieaanduiding (N).
1234.567 ("N", en-US)
-> 1.234.57

1234.567 ("N", ru-RU)
-> 1 234,57

1234 ("N1", en-US)
-> 1.234.0

1234 ("N1", ru-RU)
-> 1 234,0

-1234.56 ("N3", en-US)
-> -1.234.560

-1234,56 ("N3", ru-RU)
-> -1 234.560
"P" of "p" Procent Resultaat: getal vermenigvuldigd met 100 en weergegeven met een procentsymbool.

Ondersteund door: Alle numerieke typen.

Precisieaanduiding: Gewenst aantal decimalen.

Standaardprecisieaanduiding: gedefinieerd door de cultuur.

Meer informatie: The Percent ("P") Format Specifier.
1 ("P", en-US)
-> 100,00 %

1 ("P", fr-FR)
-> 100,00 %

-0.39678 ("P1", en-US)
-> -39,7 %

-0.39678 ("P1", fr-FR)
-> -39,7 %
"X" of "x" Hexadecimaal Resultaat: een hexadecimale tekenreeks.

Alleen ondersteund door: Integrale typen.

Precisieaanduiding: Aantal cijfers in de resultaattekenreeks.

Meer informatie: De Hexadecimale ("X") Format Specifier.
255 ("X")
-> FF

-1 ("x")
-> ff

255 ("x4")
-> 00ff

-1 ("X4")
-> 00FF
Elk ander teken met één teken Onbekende aanduiding Resultaat: Genereert een expressiefout tijdens runtime.

Standaardtekenreeksen voor numerieke notatie gebruiken

Een standaardtekenreeks voor numerieke notatie kan worden gebruikt om de opmaak van een numerieke waarde te definiëren. Deze kan worden doorgegeven aan de parameter Number.ToTextformat. In het volgende voorbeeld wordt een numerieke waarde opgemaakt als een valutatekenreeks in de huidige cultuur (in dit geval de en-US-cultuur).

Number.ToText(123.456, "C2")
// Displays $123.46

U kunt desgewenst een count argument opgeven in de functies Text.PadStart en Text.PadEnd om de breedte van het numerieke veld op te geven en of de waarde rechts of links is uitgelijnd. In het volgende voorbeeld wordt een valutawaarde in een veld van 28 tekens links uitgelijnd en wordt een valutawaarde rechts uitgelijnd in een veld van 14 tekens (bij gebruik van een lettertype met een monospaced).

let
    amounts = {16305.32, 18794.16},
    result = Text.Format("    Beginning Balance           Ending Balance#(cr,lf)    #{0}#{1}",
    {
        Text.PadEnd(Number.ToText(amounts{0}, "C2"), 28), 
        Text.PadStart(Number.ToText(amounts{1}, "C2"), 14)
    })
in
    result

// Displays:
//    Beginning Balance           Ending Balance
//    $16,305.32                      $18,794.16

De volgende secties bevatten gedetailleerde informatie over elk van de standaardtekenreeksen voor numerieke notatie.

Valutanotatieaanduiding (C)

De notatieaanduiding 'C' (of valuta) converteert een getal naar een tekenreeks die een valutabedrag vertegenwoordigt. De precisieaanduiding geeft het gewenste aantal decimalen in de resultaattekenreeks aan. Als de precisieaanduiding wordt weggelaten, is het standaardaantal decimalen dat moet worden gebruikt in valutawaarden 2.

Als de waarde die moet worden opgemaakt meer dan het opgegeven of standaardaantal decimalen heeft, wordt de breukwaarde afgerond in de resultaattekenreeks. Als de waarde rechts van het opgegeven aantal decimalen 5 of hoger is, wordt het laatste cijfer in de resultaattekenreeks afgerond van nul.

De resultaattekenreeks wordt beïnvloed door de opmaakgegevens van de huidige cultuur.

In het volgende voorbeeld wordt een waarde opgemaakt met de valutanotatieaanduiding:

let
    Source = 
    {
        Number.ToText(12345.6789, "C"),
        Number.ToText(12345.6789, "C3"),
        Number.ToText(12345.6789, "C3", "da-DK")
    }
in
    Source 

// The example displays the following list on a system whose
// current culture is English (United States):
//       $12,345.68
//       $12,345.679
//       12.345,679 kr.

Decimaalnotatieaanduiding (D)

De notatieaanduiding D (of decimaal) converteert een getal naar een tekenreeks met decimale cijfers (0-9), voorafgegaan door een minteken als het getal negatief is. Deze indeling wordt alleen ondersteund voor integrale typen.

De precisieaanduiding geeft het minimale aantal cijfers aan dat in de resulterende tekenreeks is gewenst. Indien nodig wordt het getal opgevuld met nullen links om het aantal cijfers te produceren dat wordt opgegeven door de precisieaanduiding. Als er geen precisieaanduiding is opgegeven, is de standaardwaarde de minimumwaarde die nodig is om het gehele getal weer te geven zonder voorloopnullen.

De resultaattekenreeks wordt beïnvloed door de opmaakgegevens van de huidige cultuur.

In het volgende voorbeeld wordt een waarde opgemaakt met de decimaalnotatieaanduiding.

let
    Source = 
    { 
        Number.ToText(12345, "D"),
        // Displays 12345

        Number.ToText(12345, "D8"),
        // Displays 00012345

        Number.ToText(-12345, "D"),
        // Displays -12345

        Number.ToText(-12345, "D8")
        // Displays -00012345
    }
in
    Source 

Exponentiële notatieaanduiding (E)

De exponentiële notatieaanduiding ('E') converteert een getal naar een tekenreeks van het formulier '-d.ddd... E+ddd' of '-d.ddd... e+ddd', waarbij elke 'd' een cijfer aangeeft (0-9). De tekenreeks begint met een minteken als het getal negatief is. Precies één cijfer wordt altijd voorafgegaan door het decimaalteken.

De precisieaanduiding geeft het gewenste aantal cijfers na het decimaalteken aan. Als de precisieaanduiding wordt weggelaten, wordt een standaardwaarde van zes cijfers na het decimaalteken gebruikt.

In het geval van de notatieaanduiding wordt aangegeven of de exponent moet worden voorafgegaan door een "E" of een "e". De exponent bestaat altijd uit een plus- of minteken en minimaal drie cijfers. De exponent wordt zo nodig opgevuld met nullen om aan dit minimum te voldoen.

De resultaattekenreeks wordt beïnvloed door de opmaakgegevens van de huidige cultuur.

In het volgende voorbeeld wordt een waarde opgemaakt met de exponentiële notatieaanduiding:

let
    Source = 
    { 
        Number.ToText(12345.6789, "E", ""),
        // Displays 1.234568E+004

        Number.ToText(12345.6789, "E10", ""),
        // Displays 1.2345678900E+004

        Number.ToText(12345.6789, "e4", ""),
        // 1.2346e+004

        Number.ToText(12345.6789, "E", "fr-FR")
        // Displays 1,234568E+004
    }
in
    Source 

Notitie

De lege tekstwaarde ("") in de laatste parameter van Number.ToText in het vorige voorbeeld verwijst naar de invariante cultuur.

Indelingsaanduiding met vaste punten (F)

De notatieaanduiding voor vast punt ('F') converteert een getal naar een tekenreeks van het formulier '-ddd.ddd...' waarbij elke 'd' een cijfer aangeeft (0-9). De tekenreeks begint met een minteken als het getal negatief is.

De precisieaanduiding geeft het gewenste aantal decimalen aan. Als de precisieaanduiding wordt weggelaten, is het standaardaantal decimalen dat moet worden gebruikt in numerieke waarden 2.

De resultaattekenreeks wordt beïnvloed door de opmaakgegevens van de huidige cultuur.

In het volgende voorbeeld wordt een dubbele en een geheel getalwaarde opgemaakt met de notatieaanduiding voor vaste punten:

let
    Source =
    {
        Number.ToText(17843, "F", ""),
        // Displays 17843.00

        Number.ToText(-29541, "F3", ""),
        // Displays -29541.000

        Number.ToText(18934.1879, "F", ""),
        // Displays 18934.19

        Number.ToText(18934.1879, "F0", ""),
        // Displays 18934

        Number.ToText(-1898300.1987, "F1", ""),
        // Displays -1898300.2

        Number.ToText(-1898300.1987, "F3", "es-ES")
        // Displays -1898300,199
    }
in
    Source

Algemene notatieaanduiding (G)

De algemene notatieaanduiding ('G') converteert een getal naar de compactere notatie van vaste punten of wetenschappelijke notatie, afhankelijk van het type getal en of een precisieaanduiding aanwezig is. De precisieaanduiding definieert het maximum aantal significante cijfers dat in de resultaattekenreeks kan worden weergegeven. Als de precisieaanduiding wordt weggelaten of nul, bepaalt het type getal de standaardprecisie, zoals aangegeven in de volgende tabel.

Numeriek type Standaardprecisie
Byte.Type of Int8.Type 3 cijfers
Int16.Type 5 cijfers
Int32.Type 10 cijfers
Int64.Type 19 cijfers
Single.Type 9 cijfers
Double.Type 17 cijfers
Decimal.Type 15 cijfers

Notatie met vaste punten wordt gebruikt als de exponent die zou voortvloeien uit het uitdrukken van het getal in de wetenschappelijke notatie groter is dan -5 en kleiner is dan de precisieaanduiding; anders wordt wetenschappelijke notatie gebruikt. Het resultaat bevat indien nodig een decimaalteken en volgnullen na het decimaalteken worden weggelaten. Als de precisieaanduiding aanwezig is en het aantal significante cijfers in het resultaat de opgegeven precisie overschrijdt, worden de overtollige volgcijfers verwijderd door af te ronden.

Als het getal echter een Decimal.Type getal is en de precisieaanduiding wordt weggelaten, wordt de notatie met vaste punten altijd gebruikt en blijven volgnullen behouden.

Als wetenschappelijke notatie wordt gebruikt, wordt de exponent in het resultaat voorafgegaan door 'E' als de notatieaanduiding 'G' of 'e' is als de notatieaanduiding 'g' is. De exponent bevat minimaal twee cijfers. Dit verschilt van de notatie voor wetenschappelijke notatie die wordt geproduceerd door de exponentiële notatieaanduiding, die minimaal drie cijfers in de exponent bevat.

De resultaattekenreeks wordt beïnvloed door de opmaakgegevens van de huidige cultuur.

In het volgende voorbeeld worden gesorteerde waarden voor drijvende komma opgemaakt met de algemene notatieaanduiding:

let
    Source =
    {
        Number.ToText(12345.6789, "G", ""),
        // Displays 12345.6789

        Number.ToText(12345.6789, "G", "fr-FR"),
        // Displays 12345,6789

        Number.ToText(12345.6789, "G7", ""),
        // Displays 12345.68

        Number.ToText(.0000023, "G", ""),
        // Displays 2.3E-06

        Number.ToText(.0000023, "G", "fr-FR"),
        // Displays 2,3E-06

        Number.ToText(.0023, "G", ""),
        // Displays 0.0023

        Number.ToText(1234, "G2", ""),
        // Displays 1.2E+03

        Number.ToText(Number.PI, "G5", "")
        // Displays 3.1416
    }
in
    Source

Numerieke notatieaanduiding (N)

De notatieaanduiding ('N') converteert een getal naar een tekenreeks van het formulier '-d,ddd,ddd.ddd...', waarbij '-' indien nodig een negatief getalsymbool aangeeft, 'd' geeft een cijfer aan (0-9), ',' geeft een groepsscheidingsteken aan en '.' geeft een decimaalteken aan. De precisieaanduiding geeft het gewenste aantal cijfers na het decimaalteken aan. Als de precisieaanduiding wordt weggelaten, wordt het aantal decimalen gedefinieerd door de huidige cultuur.

De resultaattekenreeks wordt beïnvloed door de opmaakgegevens van de huidige cultuur.

In het volgende voorbeeld worden gesorteerde waarden voor drijvende komma opgemaakt met de getalnotatieaanduiding:

let
    Source =
    {
        Number.ToText(-12445.6789, "N", ""),
        // Displays -12,445.68

        Number.ToText(-12445.6789, "N1", "sv-SE"),
        // Displays -12 445,7

        Number.ToText(123456789, "N1", "")
        // Displays 123,456,789.0
    }
in
    Source

Aanduiding voor procentnotatie (P)

De notatieaanduiding percentage ('P') vermenigvuldigt een getal met 100 en converteert deze naar een tekenreeks die een percentage vertegenwoordigt. De precisieaanduiding geeft het gewenste aantal decimalen aan. Als de precisieaanduiding wordt weggelaten, wordt de standaard numerieke precisie gebruikt die wordt geleverd door de huidige cultuur.

In het volgende voorbeeld worden waarden voor drijvende komma opgemaakt met de aanduiding voor procentnotatie:

let
    Source =
    {
        Number.ToText(.2468013, "P", ""),
        // Displays 24.68 %

        Number.ToText(.2468013, "P", "hr-HR"),
        // Displays 24,68 %

        Number.ToText(.2468013, "P1", "en-US")
        // Displays 24.7%
    }
in
    Source

Hexadecimale notatieaanduiding (X)

De hexadecimale notatieaanduiding (X) converteert een getal naar een reeks hexadecimale cijfers. In het geval van de notatieaanduiding wordt aangegeven of u hoofdletters of kleine letters wilt gebruiken voor hexadecimale cijfers die groter zijn dan 9. Gebruik bijvoorbeeld 'X' om 'ABCDEF' en 'x' te produceren om 'abcdef' te produceren. Deze indeling wordt alleen ondersteund voor integrale typen.

De precisieaanduiding geeft het minimale aantal cijfers aan dat in de resulterende tekenreeks is gewenst. Indien nodig wordt het getal opgevuld met nullen links om het aantal cijfers te produceren dat wordt opgegeven door de precisieaanduiding.

De resultaattekenreeks wordt niet beïnvloed door de opmaakgegevens van de huidige cultuur.

In het volgende voorbeeld worden waarden opgemaakt met de hexadecimale notatieaanduiding.

let
    Source =
    {
        Number.ToText(0x2045e, "x"),
        // Displays 2045e

        Number.ToText(0x2045e, "X"),
        // Displays 2045E

        Number.ToText(0x2045e, "X8"),
        // Displays 0002045E

        Number.ToText(123456789, "X"),
        // Displays 75BCD15

        Number.ToText(123456789, "X2")
        // Displays 75BCD15
    }
in
    Source

Opmerkingen

Deze sectie bevat aanvullende informatie over het gebruik van tekenreeksen met een standaard numerieke notatie.

Integrale en numerieke typen drijvende komma

Sommige beschrijvingen van standaardaanduidingen voor numerieke notaties verwijzen naar integrale of numerieke typen drijvende komma. De integrale numerieke typen zijnByte.Type, , Int8.Type, Int16.TypeenInt32.Type.Int64.Type De numerieke typen drijvende komma zijn Decimal.Type, Single.Typeen Double.Type.

Drijvendekomma-infiniteiten en NaN

Ongeacht de notatietekenreeks, als de waarde van een Decimal.Type, Single.Type of Double.Type zwevend-kommatype positief oneindig, negatief oneindig of geen getal (NaN) is, is de opgemaakte tekenreeks de waarde van de respectieve Number.PositiveInfinity, Number.NegativeInfinityof Number.NaN constanten die zijn opgegeven door de huidige toepasselijke cultuur.

Voorbeeld van code

In het volgende voorbeeld wordt een drijvende komma en een integrale numerieke waarde opgemaakt met behulp van de en-US-cultuur en alle standaardaanduidingen voor numerieke notaties. In dit voorbeeld worden twee specifieke numerieke typen (Double.TypeenInt32.Type) gebruikt, maar zouden vergelijkbare resultaten opleveren voor een van de andere numerieke basistypen (Byte.Type, Decimal.Type, Int8.Type, Int16.Type, en Int64.Type).Single.Type

let
    // Display text representations of numbers for en-US culture
    culture = "en-US",

    // Output floating point values
    floating = Double.From(10761.937554),
    #"Floating results" = 
    {
        Text.Format("C: #{0}", {Number.ToText(floating, "C", culture)}),         // Displays "C: $10,761.94"
        Text.Format("E: #{0}", {Number.ToText(floating, "E03", culture)}),       // Displays "E: 1.076E+004"
        Text.Format("F: #{0}", {Number.ToText(floating, "F04", culture)}),       // Displays "F: 10761.9376"
        Text.Format("G: #{0}", {Number.ToText(floating, "G", culture)}),         // Displays "G: 10761.937554"
        Text.Format("N: #{0}", {Number.ToText(floating, "N03", culture)}),       // Displays "N: 10,761.938"
        Text.Format("P: #{0}", {Number.ToText(floating/10000, "P02", culture)})  // Displays "P: 107.62%"
    },
    
    // Output integral values
    integral = Int32.From(8395),
    #"Integral results" =
    {
        Text.Format("C: #{0}", {Number.ToText(integral, "C", culture)}),         // Displays "C: $8,395.00"
        Text.Format("D: #{0}", {Number.ToText(integral, "D6", culture)}),        // Displays "D: 008395"
        Text.Format("E: #{0}", {Number.ToText(integral, "E03", culture)}),       // Displays "E: 8.395E+003"
        Text.Format("F: #{0}", {Number.ToText(integral, "F01", culture)}),       // Displays "F: 8395.0"
        Text.Format("G: #{0}", {Number.ToText(integral, "G", culture)}),         // Displays "G: 8395"
        Text.Format("N: #{0}", {Number.ToText(integral, "N01", culture)}),       // Displays "N: 8,395.0"
        Text.Format("P: #{0}", {Number.ToText(integral/10000, "P02", culture)}), // Displays "P: 83.95%"
        Text.Format("X: 0x#{0}", {Number.ToText(integral, "X", culture)})        // Displays "X: 0x20CB"
    },
    results = #"Floating results" & #"Integral results"

in
    results