Jaa


Mukautetut lukumuotoilumerkkijonot

Voit luoda mukautetun numeerisen muotoilun merkkijonon, joka koostuu yhdestä tai useammasta mukautetusta numeerisesta määritearvosta, numerotietojen muotoilun määrittämiseksi. Mukautettu numeerinen muotoilumerkkijono on mikä tahansa muotoilumerkkijono, joka ei ole vakiomuotoinen numeromuotomerkkijono.

Seuraavassa taulukossa kuvataan mukautetun numeromuodon määritykset ja näytetään kunkin muodon määritteen tuottama näytetuloste. Huomautukset-osassa on lisätietoja mukautettujen numeromuotomerkkijonojen käyttämisestä ja Esimerkki-osiosta, jossa on kattava kuva niiden käytöstä.

Muotomäärite Name Kuvaus Esimerkit
"0" Nolla paikkamerkkiä Korvaa nollan vastaavalla numerolla, jos sellainen on olemassa. muussa tapauksessa tulosmerkkijonossa näkyy nolla.

Lisätietoja: Mukautettu 0-määrite.
1234.5678 ("00000") -> 01235

0.45678 ("0.00", en-US) -> 0.46

0.45678 ("0.00", fr-FR) -> 0,46
"#" Numeroiden paikkamerkki Korvaa #-merkin vastaavalla numerolla, jos sellainen on olemassa. muussa tapauksessa tulosmerkkijonossa ei näy numeroa.

Tulosmerkkijonoon ei näy numeroa, jos vastaava numero syötemerkkijonossa on merkityksellinen 0. Esimerkiksi 0003 ("####") -> 3.

Lisätietoja: Mukautettu #-määrite.
1234.5678 ("#####") -> 1235

0.45678 ("#.##", en-US) -> .46

0.45678 ("#.##", fr-FR) -> ,46
"." Desimaalipilkku Määrittää desimaalierottimen sijainnin tulosmerkkijonossa.

Lisätietoja: "." Mukautettu määrite.
0.45678 ("0.00", en-US) -> 0.46

0.45678 ("0.00", fr-FR) -> 0,46
"," Ryhmäerotin ja lukuskaalaus Toimii sekä ryhmäerottimena että numeroskaalausmääriteenä. Ryhmäerottimena se lisää lokalisoidun ryhmäerottimen kunkin ryhmän väliin. Numeroskaalausmääriteenä se jakaa luvun 1000:lla kullekin määritetylle pilkulle.

Lisätietoja: Mukautettu määrite ","
Ryhmäerottimen määritys:

2147483647 ("##,#", en-US) -> 2 147 483 647

2147483647 ("#,#", es-ES) -> 2.147.483.647

Skaalauksen määrite:

2147483647 ("#,#,,", en-US) -> 2 147

2147483647 ("#,#,,", es-ES) -> 2,147
"%" Prosenttien paikkamerkki Kertoo luvun sadalla ja lisää tulosmerkkijonoon lokalisoidun prosenttimerkin.

Lisätietoja: Mukautettu "%"-määrite.
0.3697 ("%#0.00", en-US) -> %36,97

0,3697 ("%#0,00", el-GR) -> %36,97

0.3697 ("##.0 %", en-US) -> 37,0 %

0,3697 ("##.0 %", el-GR) -> 37,0 %
"‰" mille-paikkamerkkiä kohti Kertoo luvun 1000:lla ja lisää tulosmerkkijonoon lokalisoidun mille-symbolin.

Lisätietoja: Mukautettu määritin (?".
0.03697 ("#0.00?"", en-US) -> 36.97?"

0.03697 ("#0.00":"", ru-RU) -> 36,97}
"E0"

"E+0"

"E-0"

"e0"

"e+0"

"e-0"
Eksponentiaalinen merkintä Jos sen jälkeen on vähintään yksi 0 (nolla), tulos muotoillaan käyttämällä eksponenttimerkintää. "E"- tai "e"-kirjainkoko ilmaisee eksponenttisymbolin kirjainkoon tulosmerkkijonossa. "E"- tai "e"-merkin jälkeen olevien nollien määrä määrittää eksponentin numeroiden vähimmäismäärän. Plusmerkki (+) ilmaisee, että merkkimerkki on aina eksponentin edessä. Miinusmerkki (-) ilmaisee, että merkkimerkki edeltää vain negatiivisia eksponentteja.

Lisätietoja: Mukautetut E- ja e-määritykset.
987654 ("#0.0e0") –> 98,8e4

1503.92311 ("0.0##e+00") -> 1.504e+03

1.8901385E-16 ("0.0e+00") -> 1.9e-16
"\", "''", """" Ohjausmerkit Tämän vuoksi seuraava merkki tai merkit tulkitaan literaaliksi eikä mukautetuksi muotoilumääriteeksi.

Lisätietoja: Escape-merkit.
987654 ("\##00\#") –> #987654#

987654 ("#'#00'#'") -> #987654#

987654 (""#""#00""#""") -> #987654#
Merkkijono

"merkkijono"
Literaalimerkkijonon erotin Ilmaisee, että koodatut merkit tulee kopioida tulosmerkkijonoon muuttumattomana.

Lisätietoja: Merkkiliteraalit.
68 ("# 'asteet'") -> 68 astetta

68 ("#' astetta") -> 68 astetta
; Osioerotin Määrittää osiot, joissa on erilliset muotoilumerkkijonot positiivisille, negatiivisille ja nollaluvuille.

Lisätietoja: ";" Osioerotin.
12.345 ("#0.0#;( #0.0#);-\0-") -> 12,35

0 ("#0.0#;( #0.0#);-\0-") -> -0-

-12.345 ("#0.0#;( #0.0#);-\0-") -> (12,35)

12.345 ("#0.0#;( #0.0#)") -> 12,35

0 ("#0.0#;( #0.0#)") –> 0.0

-12.345 ("#0.0#;( #0.0#)") -> (12,35)
Muu Kaikki muut merkit Merkki kopioidaan tulosmerkkijonoon muuttumattomana.

Lisätietoja: Merkkiliteraalit.
68 ("# °") –> 68 °

Seuraavissa osioissa on yksityiskohtaisia tietoja kustakin mukautetun numeromuodon määrittimestä.

0-määrite

"0"-mukautetun muodon määrite toimii nollapaikkamerkkinä. Jos muotoillulla arvolla on numero sijainnissa, jossa nolla esiintyy muotoilumerkkijonossa, kyseinen numero kopioidaan tulosmerkkijonoon. muussa tapauksessa tulosmerkkijonossa näkyy nolla. Vasemmanpuoleisimmassa nollassa ennen desimaalipistettä ja oikeanpuoleisin nolla desimaalipilkun jälkeen määrittää tulosmerkkijonossa aina esiintyvät numeroalueet.

00-määrite pyöristää arvon desimaalia edeltävään lähimpään numeroon, jossa käytetään aina pyöristystä nollasta poispäin. Esimerkiksi muotoilu 34,5 käyttäen arvoa "00" antaisi tulokseksi arvon 35.

Seuraavassa esimerkissä näytetään useita arvoja, jotka on muotoiltu käyttämällä mukautettuja muotoilumerkkijonoja, jotka sisältävät nolla paikkamerkkiä.

let
    Source =
    {
        Number.ToText(123, "00000", ""),
        // Displays 00123

        Number.ToText(1.2, "0.00", ""),
        // Displays 1.20

        Number.ToText(1.2, "00.00", ""),
        // Displays 01.20

        Number.ToText(1.2, "00.00", "da-DK"),
        // Displays 01,20

        Number.ToText(.56, "0.0", ""),
        // Displays 0.6

        Number.ToText(1234567890, "0,0", ""),
        // Displays 1,234,567,890

        Number.ToText(1234567890, "0,0", "el-GR"),
        // Displays 1.234.567.890

        Number.ToText(1234567890.123456, "0,0.0", ""),
        // Displays 1,234,567,890.1

        Number.ToText(1234.567890, "0,0.00", "")
        // Displays 1,234.57
    }
in
    Source

Muistiinpano

Edellisen näytteen Number.ToText viimeisessä parametrissa oleva tyhjä tekstiarvo ("") viittaa muuttumattoman maa-asetuksen.

Takaisin taulukkoon

"#"-mukautettu määrite

"#"-mukautetun muodon määrite toimii numeropaikkamerkkinä. Jos muotoillussa arvossa on numero sijainnissa, jossa "#"-symboli esiintyy muotoilumerkkijonossa, kyseinen numero kopioidaan tulosmerkkijonoon. Muussa tapauksessa mitään ei tallenneta kyseiseen sijaintiin tulosmerkkijonossa.

Huomaa, että tämä määrite ei koskaan näytä nollaa, joka ei ole merkitsevä numero, vaikka nolla olisi merkkijonon ainoa numero. Se näyttää nollan vain, jos se on merkittävä numero näytetyssä numerossa.

Muotoilumerkkijono ##pyöristää arvon desimaalia edeltävään lähimpään numeroon, jolloin käytetään aina nollasta pois pyöristettävää lukua. Esimerkiksi muotoilu 34,5 arvolla "##" antaisi tulokseksi arvon 35.

Seuraavassa esimerkissä näytetään useita arvoja, jotka on muotoiltu käyttämällä mukautettuja muotoilumerkkijonoja, jotka sisältävät numeroiden paikkamerkkejä.

let
    Source =
    {
        Number.ToText(1.2, "#.##", ""),
        // Displays 1.2

        Number.ToText(123, "#####"),
        // Displays 123

        Number.ToText(123456, "[##-##-##]"),
        // Displays [12-34-56]

        Number.ToText(1234567890, "#"),
        // Displays 1234567890

        Number.ToText(1234567890, "(###) ###-####")
        // Displays (123) 456-7890
    }
in
    Source

Jos haluat palauttaa tulosmerkkijonon, jossa puuttuvat numerot tai edeltävät nollat korvataan välilyönneillä, käytä Text.PadStart ja määritä kentän leveys seuraavan esimerkin mukaisesti.

let
   Source = Text.Format("The value is: '#{0}'", {Text.PadStart(Number.ToText(.324, "#.###"), 5)})
in
   Source

// The example displays the following output if the current culture
// is en-US:
//      The value is: ' .324'

Takaisin taulukkoon

"." mukautettu määrite

"."-mukautettu muotoilumäärite lisää tulosmerkkijonoon lokalisoidun desimaalierottimen. Muotoilumerkkijonon ensimmäinen jakso määrittää desimaalierottimen sijainnin muotoillussa arvossa. kaikki lisäjaksot ohitetaan. Jos muotoilumäärite päättyy merkkijonoon "." vain merkitsevät numerot muotoillaan tulosmerkkijonoksi.

Tulosmerkkijonon desimaalierottimena käytettävä merkki ei ole aina piste. muotoilua ohjaavan maa-asetuksen perusteella.

Seuraavassa esimerkissä käytetään "."-muotomääritettä desimaalipilkun sijainnin määrittämiseen useissa tulosmerkkijonossa.

let
    Source =
    {
        Number.ToText(1.2, "0.00", ""),
        // Displays 1.20

        Number.ToText(1.2, "00.00", ""),
        // Displays 01.20

        Number.ToText(1.2, "00.00", "da-DK"),
        // Displays 01,20

        Number.ToText(.086, "#0.##%", ""),
        // Displays 8.6%

        Number.ToText(Double.From(86000), "0.###E+0", "")
        // Displays 8.6E+4
    }
in
    Source

Takaisin taulukkoon

Mukautettu määrite ","

Merkki "," toimii sekä ryhmäerottimena että numeroskaalausmääriteenä.

  • Ryhmäerotin: Jos vähintään yksi pilkku on määritetty kahden numeron paikkamerkkien (0 tai #) väliin, jotka muotoilevat luvun kokonaislukuja, kunkin lukuryhmän väliin lisätään ryhmän erotinmerkki tuloksen erottamattomassa osassa.

    Maa-asetus määrittää numeroryhmän erottimena käytetyn merkin ja kunkin lukuryhmän koon. Jos esimerkiksi merkkijonoa "#,#" ja muuttumattoman maa-asetuksen avulla muotoillaan numero 1000, tulos on "1 000".

  • Luvun skaalauksen määrite: Jos vähintään yksi pilkku määritetään välittömästi eksplisiittisen tai implisiittisen desimaalipilkun vasemmalla puolella, muotoilltava luku jaetaan 1000:lla kullekin pilkulle. Jos esimerkiksi merkkijonoa "0," käytetään luvun 100 miljoonaa muotoilemiseen, tuloste on "100".

Voit käyttää ryhmäerottimen ja lukuskaalauksen määrittimet samassa muotoilumerkkijonossa. Jos esimerkiksi merkkijonoa "#,0," ja muuttumattoman maa-asetuksen avulla muotoillaan luku miljardi, tulos on "1 000".

Seuraavassa esimerkissä havainnollistetaan pilkku ryhmäerottimena.

let
    Source =
    {
        Number.ToText(1234567890, "#,#", ""),
        // Displays 1,234,567,890

        Number.ToText(1234567890, "#,##0,,", "")
        // Displays, 1,235
    }
in
    Source

Seuraavassa esimerkissä havainnollistetaan pilkkujen käyttö numeroskaalauksen määriteenä.

let
    Source =
    {
        Number.ToText(1234567890, "#,,", ""),
        // Displays 1235

        Number.ToText(1234567890, "#,,,", ""),
        // Displays 1

        Number.ToText(1234567890, "#,##0,,", "")
        // Displays 1,235
    }
in
    Source

Takaisin taulukkoon

"%"-mukautettu määrite

Muotoilumerkkijonon prosenttimerkki (%) kertoo luvun sadalla ennen sen muotoilua. Lokalisoitu prosenttimerkki lisätään lukuun sijaintiin, jossa % näkyy muotoilumerkkijonossa. Maa-asetus määrittää käytetyn prosenttimerkin.

Seuraavassa esimerkissä määritetään mukautettu muotoilumerkkijono, joka sisältää mukautetun "%"-määrityksen.

let
    Source = Number.ToText(.086, "#0.##%", "")
    // Displays 8.6%
in
    Source

Takaisin taulukkoon

"?"-mukautettu määrite

Muotoilumerkkijonon mille- tai \u2030-merkkiä kohden luku kerrotaan luvulla 1 000 ennen sen muotoilemista. Asianmukainen määrä mille-merkkiä kohden lisätään palautettuun merkkijonoon sijaintiin, jossa ( ... ) -symboli esiintyy muotoilumerkkijonossa. Käytettävää mille-merkkiä kohden määrittää maa-asetus, joka antaa maa-asetuskohtaisia muotoilutietoja.

Seuraavassa esimerkissä määritetään mukautettu muotoilumerkkijono, joka sisältää mukautetun määritteen (?).

let
    Source = Number.ToText(.00354, "#0.##" & Character.FromNumber(0x2030), "")
    // Displays 3.54‰
in
    Source

Takaisin taulukkoon

"E"- ja "e"-mukautetut määritykset

Jos muotoilumerkkijonossa on merkkijono "E", "E+", "E-", "e", "e+" tai "e-", ja niitä seuraa välittömästi vähintään yksi nolla, luku muotoillaan käyttämällä tieteellistä merkintää, jossa luvun ja eksponentin väliin on lisätty "E" tai "e". Tieteellisen merkintäilmaisimen jälkeen olevien nollien määrä määrittää eksponentille tulostettavien numeroiden vähimmäismäärän. "E+"- ja "e+"-muodot ilmaisevat, että plus- tai miinusmerkin tulee aina edeltää eksponenttia. "E"-, "E-", "e" tai "e-" -muodot ilmaisevat, että merkkimerkin tulee edeltää vain negatiivisia eksponentteja.

Seuraavassa esimerkissä muotoillaan useita numeerisia arvoja käyttämällä tieteellisen merkinnän määritintä.

let
    Source =
    {
        Number.ToText(86000, "0.###E+0", ""),
        // Displays 8.6E+4

        Number.ToText(86000, "0.###E+000", ""),
        // Displays 8.6E+004

        Number.ToText(86000, "0.###E-000", "")
        // Displays 8.6E004
    }
in
    Source

Takaisin taulukkoon

Ohjausmerkit

Muotoilumerkkijonon "#", "0", ".", ",", "%" ja "?", symbolit tulkitaan muodon määritteinä literaalimerkkien sijaan. Sen mukaan, mikä on niiden sijainti mukautetussa muotoilumerkkijonossa, isoja ja pieniä kirjaimia "E" sekä +- ja - -symbolit voidaan tulkita muodon määritteiksi.

Voit estää merkin tulkitsemisen muodon määritteeksi seuraavasti:

  • Kirjoita sen eteen kenoviiva.
  • Ympäröi se heittomerkillä.
  • Ympäröi se kahdella lainausmerkeillä.

Jokainen näistä merkeistä toimii pakomerkkinä. Escape-merkki ilmaisee, että seuraava merkki on merkkiliteraali, joka tulee sisällyttää tulosmerkkijonoon muuttumattomana.

Jos haluat sisällyttää kenoviivan tulosmerkkijonoon, sinun on vältettävä se toisella kenoviivalla (\\).

Jos haluat sisällyttää heittomerkkijonon tulosmerkkijonoon, sinun on vältettävä se kenoviivalla (\'). Jos toisen heittomerkin, jota ei ole, edessä on karannut heittomerkki, kenoviiva näytetään sen sijaan ('\' näyttää \).

Jos haluat sisällyttää tulosmerkkijonoon lainausmerkin, voit välttää kaksi lainausmerkkiä kenoviivalla (\"").

Seuraavassa esimerkissä käytetään ohjausmerkkejä estämään muotoilutoimintoa tulkitsemasta "#"-, "0"- ja ""-merkkejä joko escape-merkeiksi tai muotoilumääriteiksi.

let
    Source =
    {
        Number.ToText(123, "\#\#\# ##0 dollars and \0\0 cents \#\#\#"),
        // Displays ### 123 dollars and 00 cents ###

        Number.ToText(123, "'###' ##0 dollars and '00' cents '###'"),
        // Displays ### 123 dollars and 00 cents ###

        Number.ToText(123, """###"" ##0 dollars and ""00"" cents ""###"""),
        // Displays ### 123 dollars and 00 cents ###

        Number.ToText(123, "\\\\\\ ##0 dollars and \0\0 cents \\\\\\"),
        // Displays \\\ 123 dollars and 00 cents \\\

        Number.ToText(123, "'\\\' ##0 dollars and '00' cents '\\\'"),
        // Displays \\\ 123 dollars and 00 cents \\\

        Number.ToText(123, """\\\"" ##0 dollars and ""00"" cents ""\\\""")
        // Displays \\\ 123 dollars and 00 cents \\\
    }
in
    Source

Takaisin taulukkoon

";"-osaerotin

Puolipiste (;) on ehdollinen muotoilumäärite, joka käyttää lukuun eri muotoilua sen mukaan, onko sen arvo positiivinen, negatiivinen vai nolla. Jos haluat tuottaa tämän toiminnan, mukautettu muotoilumerkkijono voi sisältää enintään kolme osiota puolipisteillä eroteltuina. Nämä osiot on kuvattu seuraavassa taulukossa.

Osien määrä Kuvaus
Yksi osa Muotoilumerkkijono koskee kaikkia arvoja.
Kaksi osaa Ensimmäinen osa koskee positiivisia arvoja ja nollia, ja toinen osa koskee negatiivisia arvoja.

Jos muotoilltava luku on negatiivinen, mutta se muuttuu nollaksi toisen osan muodon mukaiseksi pyöristämisen jälkeen, tuloksena oleva nolla muotoillaan ensimmäisen osan mukaan.
Kolme osaa Ensimmäinen osa koskee positiivisia arvoja, toinen osa koskee negatiivisia arvoja ja kolmas osa koskee nollia.

Toinen osa voidaan jättää tyhjäksi (ilman että puolipisteiden välissä ei ole mitään), jolloin ensimmäinen osa koskee kaikkia nollattomia arvoja.

Jos muotoiltava luku ei ole nolla, mutta se muuttuu nollaksi pyörisoinnin jälkeen ensimmäisen tai toisen osion muodon mukaan, tuloksena oleva nolla muotoillaan kolmannen osan mukaan.

Osien erottimet ohittavat kaikki numeroon liittyvät esimuotoilut, kun lopullinen arvo muotoillaan. Esimerkiksi negatiiviset arvot näytetään aina ilman miinusmerkkiä, kun käytetään osioerottimia. Jos haluat, että lopullisessa muotoillussa arvossa on miinusmerkki, lisää miinusmerkki eksplisiittisesti mukautetun muotoilumääriteen osana.

Seuraavassa esimerkissä käytetään ";"-muotomääritetta positiivisen, negatiivisen ja nollaluvun muotoiluun eri tavalla.

let
    Source =
    {
        Number.ToText(1234, "##;(##)"),
        // Displays 1234

        Number.ToText(-1234, "##;(##)"),
        // Displays (1234)

        Number.ToText(0, "##;(##);**Zero**")
        // Displays **Zero**
    }
in
    Source

Takaisin taulukkoon

Merkkiliteraalit

Mukautetussa numeromuotomerkkijonossa näkyvät muotoilun määritykset tulkitaan aina muotoilu merkeiksi, eivät koskaan literaalimerkeistä. Tämä sisältää seuraavat merkit:

Kaikki muut merkit tulkitaan aina merkkiliteraaliksi, ja muotoilutoiminnossa ne sisällytetään tulosmerkkijonoon muuttumattomina. Jäsennystoiminnossa niiden on vastattava syötemerkkijonon merkkejä tarkasti. Vertailussa kirjainkoko on merkitsevä.

Seuraavassa esimerkissä havainnollistetaan literaalimerkkiyksiköiden yhtä yleistä käyttöä (tässä tapauksessa tuhansia):

let
    Source = Number.ToText(123.8, "#,##0.0K")
    // Displays 123.8K
in
    Source

On olemassa kaksi tapaa, joilla merkit tulkitaan literaalimerkiksi eikä muotoilumerkiksi, jotta ne voidaan sisällyttää tulosmerkkijonoon tai jäsentää onnistuneesti syötemerkkijonossa:

  • Lisäämällä muotoilumerkin ohjausmerkkien ylle. Lisätietoja on kohdassa Escape-merkit.

  • Sulkemalla koko merkkijono lainausmerkkijonon heittomerkeissä.

Seuraavassa esimerkissä käytetään molempia menetelmiä sisällytäksesi varatut merkit mukautettuun numeromuotomerkkijonoon.

let
    Source =
    {
        Number.ToText(9.3, "##.0\%"),
        // Displays 9.3%

        Number.ToText(9.3, "\'##\'"),
        // Displays '9'

        Number.ToText(9.3, "\\##\\"),
        // Displays \9\

        Number.ToText(9.3, "##.0'%'"),
        // Displays 9.3%

        Number.ToText(9.3, "'\'##'\'"),
        // Displays \9\

        Number.ToText(9.3, "##.0""%"""),
        // Displays 9.3%

        Number.ToText(9.3, "\""##\""")
        // Displays "9"
    }
in
    Source

Muistiinpanot

Liukulukuja ei ole 10 ja NaN

Riippumatta muotoilumerkkijonosta, jos Decimal.Type, Single.Type tai Double.Type liukulukutyypin arvo on positiivinen ääretön, negatiivinen ääretön tai ei luku (NaN), muotoiltu merkkijono on kyseisen Number.PositiveInfinity, Number.NegativeInfinitytai Number.NaN vakioiden arvo, joka on määritetty kyseisessä maa-asetusluettelossa.

Pyöristys- ja kiinteän pisteen muotomerkkijonot

Kiinteän pisteen muotoilumerkkijonojen (eli muotoilumerkkijonojen, jotka eivät sisällä tieteellisen merkintämuodon merkkejä) luvut pyöristetään niin moneen desimaaliin kuin desimaalipilkun oikealla puolella on numeroiden paikkamerkkejä. Jos muotoilumerkkijono ei sisällä desimaalimerkkiä, luku pyöristetään lähimpään kokonaislukuun. Jos numerossa on enemmän numeroita kuin desimaalipilkun vasemmalla puolella on numeroiden paikkamerkkejä, ylimääräiset numerot kopioidaan tulosmerkkijonoon välittömästi ennen ensimmäisen numeron paikkamerkkiä.

Takaisin taulukkoon

Esimerkki

Seuraavassa esimerkissä esitellään kaksi mukautettua numeerista muotoilumerkkijonoa. Kummassakin tapauksessa numeroiden paikkamerkki (#) näyttää numeeriset tiedot, ja kaikki muut merkit kopioidaan tulosmerkkijonoon.

let
    Source =
    {
        Number.ToText(1234567890, "(###) ###-####"),
        // Displays (123) 456-7890

        Number.ToText(42, "My Number = #")
        // Displays My number = 42
    }
in
    Source

Takaisin taulukkoon