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.Type
enInt32.Type
.Int64.Type
De numerieke typen drijvende komma zijn Decimal.Type
, Single.Type
en 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.Type
enInt32.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