Megosztás a következőn keresztül:


Standard numerikus formátumú sztringek

A standard numerikus formátumú sztringek a gyakori numerikus típusok formázására szolgálnak. A standard numerikus formátumú sztring az űrlap [format specifier][precision specifier], ahol:

  • A Formátumjelölő egy betűrendes karakter, amely megadja a számformátum típusát, például pénznemet vagy százalékot. Minden numerikus formázási sztring, amely több betűrendbeli karaktert tartalmaz, beleértve a szóközt is, egyéni numerikus formátumsztringként értelmezendő. További információ: Egyéni numerikus formátumú sztringek.

  • A pontosság-meghatározó egy nem kötelező egész szám, amely befolyásolja az eredményül kapott sztring számjegyeinek számát. A pontosság-meghatározó egy szám sztring-ábrázolásának számjegyeinek számát vezérli.

    Amikor a pontosság-meghatározó szabályozza az eredménysztring törtjegyeinek számát, az eredménysztring egy olyan számot tükröz, amelyet a végtelenül pontos eredményhez legközelebb eső, ábrázolható eredményre kerekítenek.

    Feljegyzés

    A pontosság-meghatározó határozza meg az eredménysztring számjegyeinek számát. Ha egy eredménysztringet kezdő vagy záró szóközökkel vagy más karakterekkel (például 0) szeretne beszúrni, használja a Text.PadStart és Text.PadEnd függvényeket, és használja a függvények teljes hosszát count az eredménysztring kitöltéséhez.

A standard numerikus formátumú sztringeket a Number.ToText függvény támogatja.

Szabványos formátumkijelölők

Az alábbi táblázat a szabványos numerikus formátumkijelölőket ismerteti, és megjeleníti az egyes formátumkijelölők által előállított mintakimenetet. A Standard numerikus formátumú sztringek használatával kapcsolatos további információkért tekintse meg a Jegyzetek szakaszt, és a Kód példa szakaszt a használatuk átfogó szemléltetéséhez.

Feljegyzés

Egy adott kultúra formázott sztringjének eredménye eltérhet az alábbi példáktól. Az operációs rendszer beállításai, a felhasználói beállítások, a környezeti változók és a használt rendszer egyéb beállításai mind hatással lehetnek a formátumra.

Formátumkijelölő Név Leírás Példák
"C" vagy "c" Pénznem Eredmény: Pénznemérték.

Támogatja: Minden numerikus típus.

Pontosság-meghatározó: Tizedesjegyek száma.

Alapértelmezett pontosság-meghatározó: A kultúra határozza meg.

További információ: A pénznem ("C") formátumkijelölője.
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" vagy "d" Decimális Eredmény: Egész szám, opcionális negatív előjellel.

Támogatott: Csak integráltípusok.

Pontosság-meghatározó: Számjegyek minimális száma.

Alapértelmezett pontosság-meghatározó: A szükséges számjegyek minimális száma.

További információ: The Decimal("D") Format Specifier.
1234 ("D")
-> 1234

-1234 ("D6")
- -> 001234
"E" vagy "e" Exponenciális (tudományos) Eredmény: Exponenciális jelölés.

Támogatja: Minden numerikus típus.

Pontosság-meghatározó: Tizedesjegyek száma.

Alapértelmezett pontosság-meghatározó: 6.

További információ: Az exponenciális ("E") formátumkijelölő.
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" vagy "f" Rögzített pont Eredmény: Integrál és tizedesjegyek opcionális negatív előjellel.

Támogatja: Minden numerikus típus.

Pontosság-meghatározó: Tizedesjegyek száma.

Alapértelmezett pontosság-meghatározó: A kultúra határozza meg.

További információ: A Rögzített pont ("F") formátumkijelölő.
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" vagy "g" Általános Eredmény: A rögzített pont vagy a tudományos jelölés tömörebb.

Támogatja: Minden numerikus típus.

Pontosság-meghatározó: Jelentős számjegyek száma.

Alapértelmezett pontosság-meghatározó: A numerikus típustól függ.

További információ: Az Általános ("G") formátumkijelölő.
-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" vagy "n" Szám Eredmény: Integrál és decimális számjegyek, csoportelválasztók és nem kötelező negatív előjellel rendelkező tizedeselválasztó.

Támogatja: Minden numerikus típus.

Pontosság-meghatározó: A tizedesjegyek kívánt száma.

Alapértelmezett pontosság-meghatározó: A kultúra határozza meg.

További információ: A numerikus ("N") formátumkijelölő.
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" vagy "p" Százalék Eredmény: A szám megszorozva 100-zal, és százalékjellel jelenik meg.

Támogatja: Minden numerikus típus.

Pontosság-meghatározó: A tizedesjegyek kívánt száma.

Alapértelmezett pontosság-meghatározó: A kultúra határozza meg.

További információ: 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" vagy "x" Hexadecimális Eredmény: Hexadecimális sztring.

Támogatott: Csak integráltípusok.

Pontosság-meghatározó: Az eredménysztring számjegyeinek száma.

További információ: A Hexadecimális ("X") formátumkijelölő.
255 ("X")
-> FF

-1 ("x")
-> ff

255 ("x4")
-> 00ff

-1 ("X4")
-> 00FF
Bármely más egyetlen karakter Ismeretlen meghatározó Eredmény: Kifejezéshibát jelez futásidőben.

Standard numerikus formátumú sztringek használata

A numerikus értékek formázásának meghatározásához szabványos numerikus formátumú sztring használható. Átadható a Number.ToTextformat paraméternek. Az alábbi példa a numerikus értékeket pénznemsztringként formázza az aktuális kultúrában (ebben az esetben az en-US kultúrában).

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

Igény szerint megadhat egy count argumentumot a Text.PadStart és Text.PadEnd függvényben a numerikus mező szélességének megadásához, valamint annak jobb vagy bal igazítású értékéhez. Az alábbi minta például balra igazít egy pénznemértéket egy 28 karakteres mezőben, és jobbra igazít egy pénznemértéket egy 14 karakteres mezőben (monospaced betűtípus használata esetén).

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

A következő szakaszok részletes információkat nyújtanak a standard numerikus formátumú sztringekről.

Pénznemformátum-meghatározó (C)

A "C" (vagy pénznem) formátumválasztó egy számot pénznemösszeget képviselő sztringgé alakít át. A pontosság-meghatározó az eredménysztringben a tizedesjegyek kívánt számát jelzi. Ha a pontosság-meghatározó nincs megadva, a pénznemértékekben használandó tizedesjegyek alapértelmezett száma 2.

Ha a formázandó érték több, mint a tizedesjegyek megadott vagy alapértelmezett száma, a törtérték kerekítése az eredménysztringben történik. Ha a megadott tizedesjegyek számától jobbra lévő érték 5 vagy annál nagyobb, az eredménysztring utolsó számjegye nullától távolra kerekítve lesz.

Az eredménysztringet az aktuális kultúra formázási információi befolyásolják.

Az alábbi példa egy értéket formáz a pénznemformátum-meghatározóval:

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.

Decimális formátumválasztó (D)

A "D" (vagy decimális) formátumválasztó decimális számjegyek sztringjéhez (0-9) konvertálja a számot, amelyet mínuszjel előtaggal előtaggal jelöl, ha a szám negatív. Ez a formátum csak az integráltípusok esetében támogatott.

A pontosság-meghatározó az eredményül kapott sztringben kívánt számjegyek minimális számát jelzi. Szükség esetén a szám bal oldalán nullákkal van kitöltve a pontosság-meghatározó által megadott számjegyek számának előállításához. Ha nincs megadva pontosságkijelölő, az alapértelmezett érték az egész szám kezdő nullák nélküli megjelenítéséhez szükséges minimális érték.

Az eredménysztringet az aktuális kultúra formázási információi befolyásolják.

Az alábbi példa egy értéket formáz a decimális formátumválasztóval.

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 

Exponenciális formátumkijelölő (E)

Az exponenciális ("E") formátumkijelölő egy számot a "-d.dddd... E+ddd" vagy "-d.dddd... e+ddd", ahol minden "d" egy számjegyet (0-9) jelez. A sztring mínuszjellel kezdődik, ha a szám negatív. Pontosan egy számjegy mindig megelőzi a tizedesvesszőt.

A pontosság-meghatározó a tizedesvessző utáni számjegyek kívánt számát jelzi. Ha a pontosság-meghatározó nincs megadva, a tizedesvesszőt követő hat számjegy alapértelmezett értéke.

A formátumjelölő esete azt jelzi, hogy a kitevőt "E" vagy "e" előtaggal kell-e előtaggal előtagként hozzáadni. A kitevő mindig plusz vagy mínuszjelből és legalább három számjegyből áll. A kitevő nullákkal van kipárnázva, hogy szükség esetén megfeleljen ennek a minimumnak.

Az eredménysztringet az aktuális kultúra formázási információi befolyásolják.

Az alábbi példa egy értéket formáz az exponenciális formátumkijelölővel:

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 

Feljegyzés

Az előző mintában szereplő Number.ToText utolsó paraméterében szereplő üres szöveges érték ("") az invariáns kultúrára hivatkozik.

Rögzítettpontos formátumkijelölő (F)

A rögzített pont ("F") formátumkijelölő a számot a "-ddd.ddd..." űrlap sztringjeként alakítja át. ahol minden "d" egy számjegyet jelöl (0-9). A sztring mínuszjellel kezdődik, ha a szám negatív.

A pontosság-meghatározó a tizedesjegyek kívánt számát jelzi. Ha a pontosság-meghatározó nincs megadva, a numerikus értékekben használandó tizedesjegyek alapértelmezett száma 2.

Az eredménysztringet az aktuális kultúra formázási információi befolyásolják.

Az alábbi példa egy dupla és egy egész számot formáz a rögzítettpontos formátumkijelölővel:

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

Általános formátumkijelölő (G)

Az általános ("G") formátumkijelölő egy számot rögzített vagy tudományos jelölés tömörebbre alakít át, a szám típusától és a pontosság meghatározásától függően. A pontosság-meghatározó határozza meg az eredménysztringben megjeleníthető jelentős számjegyek maximális számát. Ha a pontosság-kijelölő nincs megadva vagy nulla, a szám típusa határozza meg az alapértelmezett pontosságot az alábbi táblázatban leírtak szerint.

Numerikus típus Alapértelmezett pontosság
Byte.Type vagy Int8.Type 3 számjegy
Int16.Type 5 számjegy
Int32.Type 10 számjegy
Int64.Type 19 számjegy
Single.Type 9 számjegy
Double.Type 17 számjegy
Decimal.Type 15 számjegy

Rögzített pont jelölést akkor használunk, ha a szám tudományos jelölésben való kifejezéséből eredő kitevő -5-nél nagyobb és kisebb, mint a pontosság-meghatározó; egyéb esetben tudományos jelölést használnak. Az eredmény szükség esetén tizedesvesszőt tartalmaz, és a záró nullákat a tizedesvessző kihagyása után. Ha a pontosság-meghatározó jelen van, és az eredményben szereplő jelentős számjegyek száma meghaladja a megadott pontosságot, a rendszer kerekítéssel eltávolítja a felesleges záró számjegyeket.

Ha azonban a szám egy Decimal.Type , és a pontosság-meghatározó nincs megadva, a rögzített pont jelölése mindig használatos, és a záró nullák megmaradnak.

Tudományos jelölés használata esetén az eredmény kitevője "E" előtaggal lesz előtaggal elnevezve, ha a formátumjelölő "G", vagy "e", ha a formátumjelölő "g". A kitevő legalább két számjegyet tartalmaz. Ez eltér a tudományos jelölés formátumától, amelyet az exponenciális formátumjelölő állít elő, amely legalább három számjegyet tartalmaz a kitevőben.

Az eredménysztringet az aktuális kultúra formázási információi befolyásolják.

Az alábbi példa a válogatott lebegőpontos értékeket formázza az általános formátumkijelölővel:

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

Numerikus formátumkijelölő (N)

A numerikus ("N") formátumkijelölő a számot "-d,ddd,ddd.ddd..." formátumú sztringgé alakítja, ahol a "-" negatív számszimbólumot jelez, ha szükséges, a "d" egy számjegyet (0-9), a "", a csoportelválasztót, a "." pedig tizedesjelet jelöl. A pontosság-meghatározó a tizedesvessző utáni számjegyek kívánt számát jelzi. Ha a pontosság-meghatározó nincs megadva, a tizedesjegyek számát az aktuális kultúra határozza meg.

Az eredménysztringet az aktuális kultúra formázási információi befolyásolják.

Az alábbi példa a számformátum-megjelölővel formázza a válogatott lebegőpontos értékeket:

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

Százalékformátum-meghatározó (P)

A százalék ("P") formátumválasztó megszorozza a számot 100-tal, és százalékot képviselő sztringgé alakítja. A pontosság-meghatározó a tizedesjegyek kívánt számát jelzi. Ha a pontosság-meghatározó nincs megadva, a rendszer az aktuális kultúra által megadott alapértelmezett numerikus pontosságot használja.

Az alábbi példa a lebegőpontos értékeket a százalékformátum-meghatározóval formázza:

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

Hexadecimális formátumkijelölő (X)

A hexadecimális ("X") formátumkijelölő egy számot hexadecimális számjegyek sztringjé alakít át. A formátumjelölő esete azt jelzi, hogy a 9-nél nagyobb hexadecimális számjegyekhez nagybetűs vagy kisbetűs karaktereket kell-e használni. Az "X" például az "ABCDEF" előállításához, az "x" pedig az "abcdef" előállításához használható. Ez a formátum csak az integráltípusok esetében támogatott.

A pontosság-meghatározó az eredményül kapott sztringben kívánt számjegyek minimális számát jelzi. Szükség esetén a szám bal oldalán nullákkal van kitöltve a pontosság-meghatározó által megadott számjegyek számának előállításához.

Az eredménysztringre az aktuális kultúra formázási információi nem érvényesek.

Az alábbi példa a hexadecimális formátumkijelölővel formázza az értékeket.

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

Jegyzetek

Ez a szakasz további információkat tartalmaz a standard numerikus formátumú sztringek használatáról.

Integrál és lebegőpontos numerikus típusok

A standard numerikus formátumok egyes leírásai integrál- vagy lebegőpontos numerikus típusokra vonatkoznak. Az integrál numerikus típusok a következőkByte.Type: , Int8.Type, Int16.TypeInt32.TypeésInt64.Type. A lebegőpontos numerikus típusok a következők Decimal.Type: , Single.Typeés Double.Type.

Lebegőpontos végtelenségek és NaN

A formátumsztringtől függetlenül, ha egy Decimal.Type, Single.Type vagy Double.Type lebegőpontos típus értéke pozitív végtelen, negatív végtelen vagy nem szám (NaN), akkor a formázott sztring az aktuálisan alkalmazható kultúra által megadott Number.PositiveInfinity, Number.NegativeInfinityvagy Number.NaN állandók értéke.

Mintakód

Az alábbi példa egy lebegőpontot és egy integrál numerikus értéket formáz az EN-US kultúra és az összes standard numerikus formátumkijelölő használatával. Ez a példa két adott numerikus típust használ (Double.Type és Int32.Type), de hasonló eredményeket adna a többi numerikus alaptípushoz (Byte.Type, Decimal.Type, , Int8.Type, Int16.Type, Int64.Typeés 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