Aracılığıyla paylaş


Standart sayısal biçim dizeleri

Standart sayısal biçim dizeleri, genel sayısal türleri biçimlendirmek için kullanılır. Standart sayısal biçim dizesi biçimindedir [format specifier][precision specifier]ve burada:

  • Biçim belirtici , para birimi veya yüzde gibi sayı biçimi türünü belirten tek bir alfabetik karakterdir. Beyaz boşluk da dahil olmak üzere birden fazla alfabetik karakter içeren herhangi bir sayısal biçim dizesi, özel bir sayısal biçim dizesi olarak yorumlanır. Daha fazla bilgi için Özel sayısal biçim dizeleri'ne gidin.

  • Duyarlık belirtici , sonuçta elde edilen dizedeki basamak sayısını etkileyen isteğe bağlı bir tamsayıdır. Duyarlık belirtici, bir sayının dize gösterimindeki basamak sayısını denetler.

    Duyarlık belirtici sonuç dizesindeki kesirli basamak sayısını denetlediğinde, sonuç dizesi sonsuz kesin sonuca en yakın temsil edilebilir sonuca yuvarlanan bir sayıyı yansıtır.

    Not

    Duyarlık belirtici, sonuç dizesindeki basamak sayısını belirler. Bir sonuç dizesini baştaki veya sondaki boşluklarla veya diğer karakterlerle (0 gibi) doldurmak için Text.PadStart ve Text.PadEnd işlevlerini kullanın ve sonuç dizesini doldurması için bu işlevlerdeki genel uzunluk count kullanın.

Standart sayısal biçim dizeleri Number.ToText işlevi tarafından desteklenir.

Standart biçim tanımlayıcıları

Aşağıdaki tabloda standart sayısal biçim tanımlayıcıları açıklanır ve her biçim tanımlayıcısı tarafından üretilen örnek çıktı görüntülenir. Standart sayısal biçim dizelerini kullanma hakkında ek bilgi için Notlar bölümüne ve bunların kullanımına ilişkin kapsamlı bir çizim için Kod örneği bölümüne gidin.

Not

Belirli bir kültür için biçimlendirilmiş dizenin sonucu aşağıdaki örneklerden farklı olabilir. Kullandığınız sistemdeki işletim sistemi ayarları, kullanıcı ayarları, ortam değişkenleri ve diğer ayarların tümü biçimi etkileyebilir.

Biçim belirteci Veri Akışı Adı Açıklama Örnekler
"C" ya da "c" Para birimi Sonuç: Bir para birimi değeri.

Destekleyen: Tüm sayısal türler.

Duyarlık belirtici: Ondalık basamak sayısı.

Varsayılan duyarlık tanımlayıcısı: Kültür tarafından tanımlanır.

Daha fazla bilgi: Para Birimi ("C") Biçim Tanımlayıcısı.
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" veya "d" Ondalık Sonuç: İsteğe bağlı eksi işaretli tamsayı basamaklar.

Desteklenen: sadece integral türleri.

Duyarlık belirtici: Minimum basamak sayısı.

Varsayılan duyarlık belirtici: En az gereken basamak sayısı.

Daha fazla bilgi: Decimal("D") Biçim Tanımlayıcısı.
1234 ("D")
-> 1234

-1234 ("D6")
-> -001234
"E" ya da "e" Üstsel (bilimsel) Sonuç: Üstel simgeleme.

Destekleyen: Tüm sayısal türler.

Duyarlık belirtici: Ondalık basamak sayısı.

Varsayılan duyarlık belirtici: 6.

Daha fazla bilgi: Üstel ("E") Biçim Tanımlayıcısı.
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" ya da "f" Sabit nokta Sonuç: İsteğe bağlı eksi işaretli tamsayı ve ondalık basamaklar.

Destekleyen: Tüm sayısal türler.

Duyarlık belirtici: Ondalık basamak sayısı.

Varsayılan duyarlık tanımlayıcısı: Kültür tarafından tanımlanır.

Daha fazla bilgi: Sabit Nokta ("F") Biçim Tanımlayıcısı.
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" ya da "g" Genel Sonuç: Sabit noktalı veya bilimsel gösterimin daha kompaktı.

Destekleyen: Tüm sayısal türler.

Duyarlık belirtici: Anlamlı basamak sayısı.

Varsayılan duyarlık belirtici: Sayısal türe bağlıdır.

Daha fazla bilgi: Genel ("G") Biçim Tanımlayıcısı.
-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" ya da "n" Sayı Sonuç: Integral ve ondalık basamaklar, grup ayırıcılar ve isteğe bağlı eksi işaretli ondalık ayırıcı.

Destekleyen: Tüm sayısal türler.

Duyarlık belirtici: İstenen ondalık basamak sayısı.

Varsayılan duyarlık tanımlayıcısı: Kültür tarafından tanımlanır.

Daha fazla bilgi: Sayısal ("N") Biçim Tanımlayıcısı.
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" ya da "p" Yüzde Sonuç: Sayı 100 ile çarpılır ve yüzde simgesi ile görüntülenir.

Destekleyen: Tüm sayısal türler.

Duyarlık belirtici: İstenen ondalık basamak sayısı.

Varsayılan duyarlık tanımlayıcısı: Kültür tarafından tanımlanır.

Daha fazla bilgi: Yüzde ("P") Biçim Tanımlayıcısı.
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" ya da "x" Onaltılık Sonuç: Bir onaltılık dize.

Desteklenen: sadece integral türleri.

Duyarlık belirtici: Sonuç dizesindeki basamak sayısı.

Daha fazla bilgi: Onaltılık ("X") Biçim Tanımlayıcısı.
255 ("X")
-> FF

-1 ("x")
-> ff

255 ("x4")
-> 00ff

-1 ("X4")
-> 00FF
Başka bir tek karakter Bilinmeyen tanımlayıcı Sonuç: Çalışma zamanında bir İfade hatası oluşturur.

Standart sayısal biçim dizelerini kullanma

Standart sayısal biçim dizesi, sayısal bir değerin biçimlendirmesini tanımlamak için kullanılabilir. Number.ToText format parametresine geçirilebilir. Aşağıdaki örnek, sayısal bir değeri geçerli kültürde (bu örnekte en-US kültürü) para birimi dizesi olarak biçimlendirmektedir.

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

İsteğe bağlı olarak, sayısal alanın genişliğini ve değerinin sağa mı yoksa sola hizalı mı olduğunu belirtmek için Text.PadStart ve Text.PadEnd işlevlerinde bir count bağımsız değişkeni sağlayabilirsiniz. Örneğin, aşağıdaki örnek 28 karakterlik bir alandaki para birimi değerini sola hizalar ve 14 karakterlik bir alanda (tek aralıklı yazı tipi kullanılırken) para birimi değerini sağa hizalar.

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şağıdaki bölümlerde her standart sayısal biçim dizesi hakkında ayrıntılı bilgi sağlanmaktadır.

Para birimi biçim belirticisi (C)

"C" (ya da para birimi) biçim belirticisi, bir sayıyı para birimi tutarını gösteren bir dizeye dönüştürür. Duyarlık belirtici, sonuç dizesindeki istenen ondalık basamak sayısını gösterir. Duyarlık belirtici atlanırsa, para birimi değerlerinde kullanılacak varsayılan ondalık basamak sayısı 2'dir.

Biçimlendirilecek değer, belirtilen veya varsayılan ondalık basamak sayısından fazlasına sahipse, sonuç dizesinde kesirli değer yuvarlanır. Belirtilen ondalık basamak sayısının sağındaki değer 5 veya daha büyükse, sonuç dizesindeki son basamak, sıfırdan uzağa yuvarlanır.

Sonuç dizesi geçerli kültürün biçimlendirme bilgilerinden etkilenir.

Aşağıdaki örnek, bir değeri para birimi biçim belirticisiyle biçimlendirdi:

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.

Ondalık biçim belirticisi (D)

"D" (veya ondalık) biçim belirticisi, sayıyı, sayı negatifse eksi işaretiyle önekli bir ondalık basamaklı (0-9) bir dizeye dönüştürür. Bu biçim yalnızca tam sayı türleri için desteklenir.

Duyarlık belirtici, sonuç dizesindeki istenen minimum basamak sayısını gösterir. Gerekirse, duyarlık belirtici tarafından verilen basamak sayısını üretmek için sayının sol tarafı sıfırlarla doldurulur Bir duyarlık belirtici belirtilmezse varsayılan, başta sıfır bulunmadan tamsayıyı temsil etmek için gerekli minimum değerdir.

Sonuç dizesi geçerli kültürün biçimlendirme bilgilerinden etkilenir.

Aşağıdaki örnek, bir değeri ondalık biçim tanımlayıcısıyla biçimlendirdi.

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 

Üstel biçim tanımlayıcısı (E)

Üstel ("E") biçim belirteci bir sayıyı "-d.ddd...E + ggg" veya "-d.ddd...e+ddd" biçiminde bir dizeye dönüştürür; burada her "d" bir basamağı (0-9) gösterir. Sayı negatifse, dize eksi işaretiyle başlar. Ondalık işaretinden önce her zaman tam bir basamak gelir.

Duyarlık belirtici, ondalık noktasından sonraki istenen basamak sayısını gösterir. Duyarlık belirtici atlanırsa, ondalık işaretinden sonra varsayılan olarak altı basamak kullanılır.

Biçim belirticisinin durumu üsse "E" veya "e" önekinin getirilip getirilmeyeceğini gösterir. Üs her zaman bir artı veya eksi işareti ile en az üç basamaktan oluşur. Üs bu minimum şartı karşılamak için gerekirse sıfırlarla doldurulur.

Sonuç dizesi geçerli kültürün biçimlendirme bilgilerinden etkilenir.

Aşağıdaki örnek bir değeri üstel biçim tanımlayıcısıyla biçimlendirdi:

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 

Not

Önceki örnekteki Number.ToText son parametresindeki boş metin değeri ("") sabit kültüre başvurur.

Sabit nokta biçim tanımlayıcısı (F)

Sabit nokta ("F") biçim tanımlayıcısı bir sayıyı "-ddd.ddd..." biçimindeki bir dizeye dönüştürür burada her "d" bir basamak (0-9) gösterir. Sayı negatifse, dize eksi işaretiyle başlar.

Duyarlık belirtici, istenen ondalık basamak sayısını gösterir. Duyarlık belirtici atlanırsa, sayısal değerlerde kullanılacak varsayılan ondalık basamak sayısı 2'dir.

Sonuç dizesi geçerli kültürün biçimlendirme bilgilerinden etkilenir.

Aşağıdaki örnek, sabit nokta biçim tanımlayıcısıyla bir çift ve bir tamsayı değeri biçimlendirdi:

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

Genel biçim tanımlayıcısı (G)

Genel ("G") biçim belirticisi, sayıyı, sayının türüne ve bir duyarlık belirticinin mevcut olup olmadığına bağlı olarak sabit noktalı veya bilimsel gösterimden daha küçük bir sayıya dönüştürür. Duyarlık belirtici, sonuç dizesindeki görünebilir maksimum anlamlı basamak sayısını tanımlar. Duyarlık belirtici atlanırsa veya sıfır olursa, sayının türü, aşağıdaki tabloda gösterildiği gibi varsayılan duyarlığı belirler.

Sayısal tür Varsayılan duyarlık
Byte.Type veya Int8.Type 3 basamak
Int16.Type 5 basamak
Int32.Type 10 basamak
Int64.Type 19 basamak
Single.Type 9 basamak
Double.Type 17 basamak
Decimal.Type 15 basamak

Sayı bilimsel gösterimde ifade edildiğinde elde edilen üs -5'ten büyükse ve duyarlık belirticiden küçükse sabit noktalı gösterim kullanılır; aksi takdirde bilimsel gösterim kullanılır. Sonuç gerekirse bir ondalık noktası içerir ve ondalık noktadan sonra gelen sıfırlar atlanır. Duyarlık belirtici varsa ve sonuçtaki anlamlı basamak sayısı, belirtilen duyarlığı aşarsa, sondaki fazlalık basamaklar yuvarlama tarafından kaldırılır.

Ancak, sayı bir Decimal.Type ise ve duyarlık belirtici atlanırsa, sabit nokta gösterimi her zaman kullanılır ve sondaki sıfırlar korunur.

Bilimsel gösterim kullanılırsa, biçim belirtici "G" olduğunda sonuçtaki üssün başına "E", biçim belirtici "g" olduğunda "e" eklenir. Üs, en az iki basamak içerir. Bu, üs değerinde en az üç basamak içeren üssel biçim belirleyici tarafından üretilen bilimsel gösterim biçiminden farklıdır.

Sonuç dizesi geçerli kültürün biçimlendirme bilgilerinden etkilenir.

Aşağıdaki örnek, çeşitli kayan nokta değerlerini genel biçim tanımlayıcısıyla biçimlendirmektedir:

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

Sayısal biçim tanımlayıcısı (N)

Sayısal ("N") biçim belirteci bir sayıyı "-d,ddd,ddd.ddd…" biçiminde bir dizeye dönüştürür; burada "-" gerekirse negatif bir sayı simgesini, "d" bir basamağı (0-9) gösterir, "," bir grup ayırıcıyı gösterir ve "." bir ondalık simgesini gösterir. Duyarlık belirtici, ondalık noktasından sonraki istenen basamak sayısını gösterir. Duyarlık belirtici atlanırsa, ondalık basamak sayısı geçerli kültür tarafından tanımlanır.

Sonuç dizesi geçerli kültürün biçimlendirme bilgilerinden etkilenir.

Aşağıdaki örnek, çeşitli kayan nokta değerlerini sayı biçimi tanımlayıcısıyla biçimlendirmektedir:

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

Yüzde biçimi tanımlayıcısı (P)

Yüzde ("P") biçim belirticisi sayıyı 100 ile çarpar ve yüzde temsil eden bir dizeye dönüştürür. Duyarlık belirtici, istenen ondalık basamak sayısını gösterir. Duyarlık belirtici atlanırsa, geçerli kültür tarafından sağlanan varsayılan sayısal duyarlık kullanılır.

Aşağıdaki örnek kayan nokta değerlerini yüzde biçimi tanımlayıcısıyla biçimlendirmektedir:

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

Onaltılık biçim tanımlayıcısı (X)

("X") onaltılı biçim belirticisi bir sayıyı onaltı basamaklı bir dizeye dönüştürür. Biçim belirticisinin durumu, 9'dan büyük onaltılık basamak için büyük veya küçük harf kullanılıp kullanılmayacağını belirtir. Örneğin, "ABCDEF" üretmek için "X" ve "abcdef" üretmek için "x" kullanın. Bu biçim yalnızca tam sayı türleri için desteklenir.

Duyarlık belirtici, sonuç dizesindeki istenen minimum basamak sayısını gösterir. Gerekirse, duyarlık belirtici tarafından verilen basamak sayısını üretmek için sayının sol tarafı sıfırlarla doldurulur

Sonuç dizesi geçerli kültürün biçimlendirme bilgilerinden etkilenmez.

Aşağıdaki örnek, değerleri onaltılık biçim tanımlayıcısıyla biçimlendirir.

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

Notlar

Bu bölüm, standart sayısal biçim dizelerini kullanma hakkında ek bilgiler içerir.

İntegral ve kayan nokta sayısal türleri

Bazı standart sayısal biçim belirticilerinin açıklamaları, ayrılmaz veya kayan nokta sayısal türlere başvurur. Tam sayı türleri , , , ve'dirByte.TypeInt8.Type. Int16.TypeInt32.TypeInt64.Type Kayan nokta sayısal türleri , Decimal.Typeve Single.TypeşeklindedirDouble.Type.

Kayan nokta sonsuzlukları ve NaN

Biçim dizesinden bağımsız olarak, Decimal.Type, Single.Type veya Double.Type kayan nokta türünün değeri pozitif sonsuz, negatif sonsuz veya sayı (NaN) değilse, biçimlendirilmiş dize ilgili Number.PositiveInfinity, Number.NegativeInfinityveya geçerli kültür tarafından belirtilen Number.NaN sabitlerinin değeridir.

Kod örneği

Aşağıdaki örnek, en-US kültürünü ve tüm standart sayısal biçim tanımlayıcılarını kullanarak kayan noktayı ve tam sayı sayısal değerini biçimlendirer. Bu örnek iki belirli sayısal türü (Double.Type ve Int32.Type) kullanır, ancak diğer sayısal temel türlerden herhangi biri için (Byte.Type, Decimal.Type, Int8.Type, Int16.Type, Int64.Typeve Single.Type) benzer sonuçlar verir.

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