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.Type
Int32.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