Özel sayısal biçim dizeleri
Sayısal verinin nasıl biçimlendirileceğini tanımlamak için bir veya daha fazla özel sayısal tanımlayıcıdan oluşan özel bir sayısal biçim dizesi oluşturabilirsiniz. Özel sayısal biçim dizesi, standart sayısal biçim dizesi olmayan herhangi bir biçim dizesidir.
Aşağıdaki tabloda özel sayısal biçim tanımlayıcıları açıklanır ve her biçim tanımlayıcısı tarafından oluşturulan örnek çıktı görüntülenir. Özel 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 Örnek bölümüne gidin.
Biçim belirteci | Veri Akışı Adı | Açıklama | Örnekler |
---|---|---|---|
"0" | Sıfır yer tutucu | Eğer varsa, karşılık gelen rakamı sıfır ile değiştirir; aksi halde sonuç dizesinde sıfır görünür. Daha fazla bilgi: "0" Özel Tanımlayıcısı. |
1234.5678 ("00000") -> 01235 0,45678 ("0,00", en-US) -> 0,46 0,45678 ("0,00", fr-FR) -> 0,46 |
"#" | Basamak yer tutucusu | Eğer varsa, karşılık gelen rakamı "#" sembolü ile değiştirir; aksi halde sonuç dizesinde hiçbir rakam gözükmez. Giriş dizesindeki karşılık gelen basamak önemsiz bir 0 ise sonuç dizesinde bir basamak görüntülenmez. Örneğin, 0003 ("####") -> 3. Daha fazla bilgi: "#" Özel Tanımlayıcısı. |
1234.5678 ("#####") -> 1235 0,45678 ("#.##", en-US) -> .46 0,45678 ("#.##", fr-FR) -> ,46 |
"." | Ondalık noktası | Sonuç dizesindeki ondalık ayracının konumunu belirler. Daha fazla bilgi: "." Özel Tanımlayıcı. |
0,45678 ("0,00", en-US) -> 0,46 0,45678 ("0,00", fr-FR) -> 0,46 |
"," | Grup ayırıcısı ve numara ölçekleme | Hem bir grup ayracı, hem de sayı ölçekleme tanımlayıcısı olarak kullanılır. Grup ayracı olarak, her grup arasında yerelleştirilmiş bir grup ayracı karakteri ekler. Sayı ölçekleme tanımlayıcısı olarak, bir sayıyı belirtilen her virgül için 1000'e böler. Daha fazla bilgi: "," Özel Tanımlayıcısı. |
Grup ayracı tanımlayıcısı: 2147483647 ("##,#", en-US) -> 2.147.483.647 2147483647 ("##,#", es-ES) -> 2.147.483.647 Ölçekleme tanımlayıcısı: 2147483647 ("#,#,", en-US) -> 2,147 2147483647 ("#,#,,", es-ES) -> 2,147 |
"%" | Yüzde yer tutucu | Sayıyı 100 ile çarpar ve sonuç dizesine yerelleştirilmiş bir yüzde simgesi ekler. Daha fazla bilgi: "%" Özel Tanımlayıcısı. |
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 |
"‰" | Her mille yer tutucu | Sayıyı 1000 ile çarpar ve sonuç dizesine yerelleştirilmiş bir binde simgesi ekler. Daha fazla bilgi: "‰" Özel Tanımlayıcısı. |
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" |
Üstel simgeleme | Eğer ardından en az bir 0 (sıfır) geliyorsa, sonucu üstel gösterim kullanarak biçimlendirir. "E" veya "e" harfi üs sembolünün sonuç dizesinde büyük veya küçük harf olduğunu belirtir. "E" veya "e" karakterini izleyen sıfır sayısı üsteki en az basamak sayısını belirler. Artı işareti (+) üsten önce her zaman bir işaret karakterinin bulunacağını belirtir. Eksi işareti (-), işaret karakterinin yalnızca negatif üslerin önünde bulunacağını belirtir. Daha fazla bilgi: "E" ve "e" Özel Tanımlayıcıları. |
987654 ("#0.0e0") -> 98.8e4 1503.92311 ("0.0##e+00") -> 1.504e+03 1.8901385E-16 ("0,0e+00") -> 1,9e-16 |
"\", "''", """" | Kaçış karakterleri | Sonraki karakterin veya karakterlerin özel biçim tanımlayıcısı yerine değişmez değer olarak yorumlanmasına neden olur. Daha fazla bilgi: Kaçış karakterleri. |
987654 ("\###00\#") -> #987654# 987654 ("'#'##00'#'") -> #987654# 987654 ("""#""##00""#""") -> #987654# |
'string' "dize" |
Değişmez dize sınırlayıcısı | İçinde bulunan karakterlerin sonuç dizesine değiştirilmeden kopyalanacağını belirtir. Daha fazla bilgi: Karakter değişmez değerleri. |
68 ("# 'derece'") -> 68 derece 68 ("#' derece'") -> 68 derece |
; | Bölüm ayırıcı | Pozitif, negatif ve sıfır değerine sahip sayılar için ayrı biçim dizeleri tanımlar. Daha fazla bilgi: ";" Bölüm Ayırıcı. |
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) |
Diğer | Diğer karakterler | Karakter, değişmeyen sonuç dizesine kopyalanır. Daha fazla bilgi: Karakter değişmez değerleri. |
68 ("# °") -> 68 ° |
Aşağıdaki bölümler her özel sayısal biçim tanımlayıcısı hakkında ayrıntılı bilgi sağlar.
"0" özel tanımlayıcısı
"0" özel biçim tanımlayıcısı sıfır için yer tutucu sembol olarak kullanılır. Eğer biçimlendirilen değerin, biçim dizesinde sıfırın bulunduğu konumunda bir sayı varsa o sayı sonuç dizesine kopyalanır, aksi halde sonuç dizesinde sıfır görünür. Ondalık noktasından önceki en sol sıfır ve ondalık noktasından sonraki en sağ sıfır, sonuç dizesinde her zaman bulunacak basamak aralığını belirler.
"00" tanımlayıcısı değerin ondalıktan önceki en yakın sayıya yuvarlanmasını sağlar ve her zaman sıfırdan öteye yuvarlama uygulanır. Örneğin, 34.5 değeri "00" ile biçimlendirildiğinde 35 olur.
Aşağıdaki örnek sıfır yer tutucu karakterleri içeren özel biçim dizelerini kullanarak biçimlendirilen birkaç değeri gösterir.
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
Not
Önceki örnekteki Number.ToText öğesinin son parametresindeki boş metin değeri (""), sabit kültüre başvurur.
"#" özel tanımlayıcısı
"#" özel biçim tanımlayıcısı basamak için yer tutucu sembol olarak kullanılır. Eğer biçimlendirilen değerin, biçim dizesinde "#" sembolünün bulunduğu konumunda bir sayı varsa o sayı sonuç dizesine kopyalanır. Aksi halde, sonuç dizesinin o konumuna hiçbir şey tutulmaz.
Dizedeki tek basamak sıfır olsa bile, bu tanımlayıcının hiçbir zaman önemli bir basamak olmayan bir sıfır görüntülemediğini unutmayın. Yalnızca görüntülenen sayıdaki önemli bir basamaksa sıfır görüntüler.
"##" tanımlayıcısı değerin ondalıktan önceki en yakın sayıya yuvarlanmasını sağlar ve her zaman sıfırdan öteye yuvarlama uygulanır. Örneğin, 34.5 değeri "##" ile biçimlendirildiğinde 35 olur.
Aşağıdaki örnek basamak yer tutucu karakterleri içeren özel biçim dizelerini kullanarak biçimlendirilen birkaç değeri gösterir.
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
Eksik basamakların veya baştaki sıfırların boşluklarla değiştirildiği bir sonuç dizesi döndürmek için Text.PadStart'ı kullanın ve aşağıdaki örnekte gösterildiği gibi bir alan genişliği belirtin.
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'
"." özel tanımlayıcısı
"." özel biçim tanımlayıcısı sonuç dizesine yerelleştirilmiş bir ondalık ayracı ekler. Biçim dizesindeki ilk nokta biçimlendirilen değerdeki ondalık ayracının konumunu belirler; diğer ek noktalar göz ardı edilir. Biçim tanımlayıcısı "." ile bitiyorsa, sonuç dizesine yalnızca önemli basamaklar biçimlendirilir.
Sonuç dizesinde ondalık ayırıcı olarak kullanılan karakter her zaman nokta değildir; biçimlendirmeyi denetleen kültür tarafından belirlenir.
Aşağıdaki örnek birkaç sonuç dizesindeki ondalık noktasının konumunu tanımlamak için "." biçim tanımlayıcısını kullanır.
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
"," özel tanımlayıcısı
"," karakteri hem bir grup ayracı, hem de sayı ölçekleme tanımlayıcısı olarak kullanılır.
Grup ayracı: Eğer bir sayının tamsayı basamaklarını biçimlendiren iki basamak yer tutucu karakteri (0 veya #) arasında bir veya daha fazla virgül belirtilirse, çıktının tamsayı bölümündeki her sayı grubunun arasında bir grup ayracı karakteri eklenir.
Kültür, sayı grubu ayırıcısı olarak kullanılan karakteri ve her sayı grubunun boyutunu belirler. Örneğin, 1000 sayısını biçimlendirmek için "#,#" dizesi ve sabit kültür kullanılırsa, çıktı "1,000" olur.
Sayı ölçekleme tanımlayıcısı: Eğer açık veya örtülü ondalık noktasının hemen solunda bir veya daha fazla virgül belirtilirse, biçimlendirilen sayı her virgül için 1000 ile bölünür. Örneğin, eğer 100 milyon sayısını biçimlendirmek için "0,," dizesi kullanılırsa, çıktı "100" olur.
Aynı biçim dizesinde grup ayracı ve sayı ölçekleme tanımlayıcılarını kullanabilirsiniz. Örneğin, eğer bir milyar sayısını biçimlendirmek için "#,0,," dizesi ve sabit kültür kullanılırsa, çıktı "1,000" olur.
Aşağıdaki örnek virgülün bir grup ayracı olarak kullanımını gösterir.
let
Source =
{
Number.ToText(1234567890, "#,#", ""),
// Displays 1,234,567,890
Number.ToText(1234567890, "#,##0,,", "")
// Displays, 1,235
}
in
Source
Aşağıdaki örnek virgülün sayı ölçekleme için bir tanımlayıcı olarak kullanımını gösterir.
let
Source =
{
Number.ToText(1234567890, "#,,", ""),
// Displays 1235
Number.ToText(1234567890, "#,,,", ""),
// Displays 1
Number.ToText(1234567890, "#,##0,,", "")
// Displays 1,235
}
in
Source
"%" özel tanımlayıcısı
Biçim dizesindeki yüzde işareti (%), bir sayının biçimlendirilmeden önce 100 ile çarpılmasına neden olur. Sayıya, % karakterinin biçim dizesinde bulunduğu konumda yerelleştirilmiş bir yüzde sembolü eklenir. Kullanılan yüzde karakteri kültür tarafından tanımlanır.
Aşağıdaki örnek, "%" özel tanımlayıcısını içeren bir özel biçim dizesi tanımlar.
let
Source = Number.ToText(.086, "#0.##%", "")
// Displays 8.6%
in
Source
"‰" özel tanımlayıcısı
Biçim dizesindeki bir değirmen başına karakter (‰ veya \u2030), bir sayının biçimlendirilmeden önce 1000 ile çarpılmasına neden olur. Dönüş dizesine, ‰ karakterinin biçim dizesinde bulunduğu konumda uygun bir binde bir karakteri eklenir. Kullanılan mille başına karakter, kültüre özgü biçimlendirme bilgileri sağlayan kültür tarafından tanımlanır.
Aşağıdaki örnek "‰" özel tanımlayıcısını içeren bir özel biçim dizesi tanımlar.
let
Source = Number.ToText(.00354, "#0.##" & Character.FromNumber(0x2030), "")
// Displays 3.54‰
in
Source
"E" ve "e" özel tanımlayıcıları
Eğer biçim dizesinde "E", "E+", "E-", "e", "e+" veya "e-" dizelerinden herhangi biri bulunuyorsa ve hemen ardından en az bir sıfır geliyorsa, sayı bilimsel gösterim kullanılarak biçimlendirilir ve sayı ile üs arasına bir "E" veya "e" eklenir. Bilimsel gösterim göstergesinin ardından gelen sıfırların sayısı üs için çıktıda bulunacak en az basamak sayısını belirler. "E+" ve "e+" biçimleri üssün önünde her zaman bir artı veya eksi işareti bulunacağını belirtir. "E", "E-", "e" veya "e-" biçimleri işaret karakterinin yalnızca negatif üslerin önünde bulunacağını belirtir.
Aşağıdaki örnek bilimsel gösterim tanımlayıcılarını kullanarak birkaç sayısal değeri biçimlendirir.
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
Kaçış karakterleri
Biçimlendirme dizesindeki "#", "0", ".", ",", "%" ve "‰" sembolleri sabit karakterler yerine biçim tanımlayıcıları olarak yorumlanır. Özel biçim dizesindeki konumlarına bağlı olarak, büyük ve küçük harf "E" ile + ve - simgeleri de biçim tanımlayıcıları olarak yorumlanabilir.
Bir karakterin biçim tanımlayıcısı olarak yorumlanmasını önlemek için şunları yapabilirsiniz:
- Önüne ters eğik çizgi koyun.
- Tek bir tırnak içine alın.
- İki çift tırnak içine alın.
Bu karakterlerin her biri kaçış karakteri işlevi görür. Çıkış karakteri, aşağıdaki karakterin değiştirilmeden sonuç dizesini dahil edilmesi gereken bir karakter sabiti olduğunu belirtir.
Bir sonuç dizesine ters eğik çizgi eklemek için, başka bir ters eğik çizgiyle (\\
) kaçış karakteri kullanmanız gerekir.
Sonuç dizesine tek bir tırnak işareti eklemek için ters eğik çizgi (\'
) ile kaçış karakteri kullanmanız gerekir. Kaçış olmayan başka bir tek tırnak işareti, kaçış tek tırnak işaretinden önce gelirse, bunun yerine ters eğik çizgi görüntülenir ('\'
görüntülenir \
).
Sonuç dizesine çift tırnak işareti eklemek için, ikisine ters eğik çizgi (\""
) eklemeniz gerekir.
Aşağıdaki örnek, biçimlendirme işleminin "#", "0" ve "" karakterlerini kaçış karakterleri veya biçim tanımlayıcıları olarak yorumlamasını önlemek için kaçış karakterlerini kullanır.
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
";" bölüm ayırıcısı
Noktalı virgül (;), sayının değerinin pozitif, negatif veya sıfır olma durumuna göre farklı biçimlendirme işlemi uygulayan bir koşullu biçim tanımlayıcısıdır. Bu davranışı oluşturmak için, bir özel biçim dizesi noktalı virgüllerle ayrılan en çok üç bölüm içerebilir. Bu bölümler aşağıdaki tabloda açıklanır.
Bölüm sayısı | Açıklama |
---|---|
Bir bölüm | Biçim dizesi tüm değerlere uygulanır. |
İki bölüm | İlk bölüm pozitif değerlere ve sıfırlara, ikinci bölüm de negatif değerlere uygulanır. Eğer biçimlendirilen değer negatif ise, ama ikinci bölümdeki biçimlendirmeden sonra yuvarlama ile sıfır olursa, sonuçtaki sıfır ilk bölüme göre biçimlendirilir. |
Üç bölüm | İlk bölüm pozitif değerlere, ikinci bölüm negatif değerlere, ve üçüncü bölüm sıfırlara uygulanır. İkinci bölüm boş bırakılabilir (noktalı virgüller arasına hiçbir şey konmayarak), ki bu durumda ilk bölüm tüm sıfır olmayan değerlere uygulanır. Eğer biçimlendirile sayı sıfır değil ise, ama ilk veya ikinci bölümdeki biçimlendirmeden sonra yuvarlama ile sıfır olursa, sonuçtaki sıfır üçüncü bölüme göre biçimlendirilir. |
Bölüm ayıraçları, son değer biçimlendirilirken sayıyla ilişkili önceden bulunan biçimlendirmeyi göz ardı eder. Örneğin, bölüm ayıraçları kullanıldığında negatif değerler her zaman eksi işareti olmadan görüntülenir. Eğer biçimlendirilen son değerin eksi işaretine sahip olmasını istiyorsanız, eksi işaretini özel biçim tanımlayıcısına açıkça eklemeniz gerekir.
Aşağıdaki örnek pozitif, negatif ve sıfır değerine sahip sayıları farklı biçimlendirmek için ";" biçim tanımlayıcısını kullanır.
let
Source =
{
Number.ToText(1234, "##;(##)"),
// Displays 1234
Number.ToText(-1234, "##;(##)"),
// Displays (1234)
Number.ToText(0, "##;(##);**Zero**")
// Displays **Zero**
}
in
Source
Karakter değişmez değerleri
Özel sayısal biçim dizesinde görünen biçim tanımlayıcıları her zaman biçimlendirme karakterleri olarak yorumlanır ve hiçbir zaman değişmez karakter olarak yorumlanır. Bu, aşağıdaki karakterleri içerir:
Diğer tüm karakterler her zaman karakter değişmez değerleri olarak yorumlanır ve biçimlendirme işleminde sonuç dizesine değiştirilmeden eklenir. Ayrıştırma işleminde, giriş dizesindeki karakterlerle tam olarak eşleşmesi gerekir; karşılaştırma büyük/küçük harfe duyarlıdır.
Aşağıdaki örnekte değişmez karakter birimlerinin (bu örnekte binler) yaygın bir kullanımı gösterilmektedir:
let
Source = Number.ToText(123.8, "#,##0.0K")
// Displays 123.8K
in
Source
Karakterlerin, bir sonuç dizesine dahil edilebilmesi veya giriş dizesinde başarıyla ayrıştırılabilmesi için, karakterlerin biçimlendirme karakterleri olarak değil değişmez karakterler olarak yorumlanması gerektiğini belirtmenin iki yolu vardır:
Biçimlendirme karakterinden kaçarak. Daha fazla bilgi için Kaçış karakterleri'ne gidin.
Değişmez değer dizesinin tamamını tırnak içine alarak.
Aşağıdaki örnek, özel bir sayısal biçim dizesine ayrılmış karakterler eklemek için her iki yaklaşımı da kullanır.
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
Notlar
Kültür sayısal biçim dizelerini nasıl etkiler?
Kültürün sayısal biçim dizelerini nasıl etkilediği hakkında bilgi için , Kültür sayısal biçim dizelerini nasıl etkiler? bölümüne gidin.
Kayan Nokta sonsuzlukları ve NaN
Biçim dizesinden bağımsız olarak, bir Decimal.Type
veya Single.Type
Double.Type
kayan nokta türünün değeri pozitif sonsuz, negatif sonsuz veya sayı (NaN) değilse, biçimlendirilmiş dize, geçerli kültür tarafından belirtilen ilgili Number.PositiveInfinity, Number.NegativeInfinity veya Number.NaN sabitlerinin değeridir.
Yuvarlama ve sabit nokta biçimli dizeler
Sabit nokta biçim dizeleri için (yani bilimsel gösterimi biçim karakterleri içermeyen biçim dizeleri), sayılar ondalık ayırıcının sağındaki basamak yer tutucuları kadar ondalık basamağı olacak şekilde yuvarlanır. Biçim dizesi ondalık ayırıcı içermiyorsa, sayı en yakın tamsayıya yuvarlanmış olur. Eğer sayının, ondalık noktanın solundaki basamak yer tutucularından daha çok basamağı var ise, ek basamaklar sonuç dizesine ilk basamak yer tutucusundan hemen önce kopyalanır.
Örnek
Aşağıdaki örnek iki özel sayısal biçim dizesini gösterir. Her iki durumda da, basamak yer tutucusu (#
) sayısal verileri görüntüler ve diğer tüm karakterler sonuç dizesine kopyalanır.
let
Source =
{
Number.ToText(1234567890, "(###) ###-####"),
// Displays (123) 456-7890
Number.ToText(42, "My Number = #")
// Displays My number = 42
}
in
Source