Decimal, Float ve Value işlevleri

Şunlar için geçerlidir: Tuval uygulamaları Dataverse formül sütunları Masaüstü akışları Model temelli uygulamalar Power Platform CLI

Bir metin dizesini veya diğer türleri sayıya dönüştürür.

Description

Not

Power Apps yalnızca Value işlevini destekler ve Float değerini döndürür. Decimal ve Float işlevleri için destek yakın zamanda eklenecektir.

Sayı karakterleri içeren bir metin dizesini sayısal bir değere dönüştürmek için Decimal, Float ve Value işlevlerini kullanın. Bir kullanıcı tarafından metin olarak girilmiş sayılarda hesaplama gerçekleştirmek için ihtiyaç duyduğunuzda bu işlevleri kullanabilirsiniz. Bu işlevler tarih/saat ve Boole gibi diğer türleri bir sayıya dönüştürmek için de kullanılabilir.

Value işlevi, kullandığınız Power Fx ana bilgisayar için varsayılan sayısal veri türünü döndürür; bu da genellikle Decimal'dır ve çoğu durum için en iyi seçimdir. Çok büyük sayı içeren bilimsel bir hesaplama gibi belirli bir senaryo için belirli bir veri türüne gereksinim duyduğunuzda Decimal ve Float işlevlerini kullanın. Bu veri türleriyle çalışma hakkında daha fazla ayrıntı için bkz. Veri türlerinin Sayılar bölümü.

Farklı diller , ve . işaretlerini farklı şekilde yorumlar. Varsayılan olarak metin, geçerli kullanıcının dilinde yorumlanır. Language işlevi tarafından döndürülen dil etiketlerini kullanarak, kullanacağınız dili bir dil etiketi ile belirtebilirsiniz.

Dizenin biçimiyle ilgili notlar:

  • Dizenin başına geçerli dildeki para birimi simgesi eklenebilir. Para birimi simgesi yok sayılır. Diğer dillerdeki para birimi simgeleri yok sayılmaz.
  • Dizenin sonunda yüzde işareti (%) olabilir; bu, değerin bir yüzde olduğunu ifade eder. Sayı döndürülmeden önce 100'e bölünür. Yüzdeler ve para birimi simgeleri birlikte kullanılamaz.
  • Dize, "12e3" olarak ifade edilen 12 x 103 ile bilimsel gösterimde olabilir.

Sayı uygun bir biçimde değilse bu işlevler hata döndürür.

Tarih ve saat değerlerini dönüştürmek için DateValue, TimeValue veya DateTimeValue işlevlerini kullanın.

Sözdizimi

Decimal( String [, LanguageTag ] )
Float( String [, LanguageTag ] )
Value( String [, LanguageTag ] )

  • Dize: Gerekli. Sayısal değere dönüştürülecek dize.
  • LanguageTag - İsteğe bağlı. Dizenin ayrıştırılması için kullanılacak dil etiketi. Belirtilmezse geçerli kullanıcının dili kullanılır.

Decimal( Untyped )
Float( Untyped )
Value( Türü Belirtilmemiş )

  • Türü belirtilmemiş - Gerekli. Sayı ifade eden Türü belirtilmemiş nesne. Kabul edilebilir değerler, türü belirtilmemiş sağlayıcıya bağlıdır. JSON için türü belirtilmemiş nesnenin bir JSON numarası, boole veya sayıya dönüştürülebilen bir metin olması beklenir. Dış sistemlerle iletişim kurarken yerel ayarlara bağlı biçimlerin dikkate alınması gerektiğini unutmayın.

Örnekler

Bu formülleri çalıştıran kullanıcı, Amerika Birleşik Devletleri'ndedir ve dil olarak İngilizceyi seçmiştir. Language işlevi, "en-US" döndürür. Power Fx ana bilgisayarı varsayılan olarak Decimal kullanır.

Value ve Decimal

Varsayılan olarak Decimal içeren bir ana bilgisayar kullandığımızdan Value ve Decimal aynı sonuçları döndürür.

Formül Description Result
Value( "123.456" )
Decimal ( "123.456" )
Varsayılan "en-US" dili kullanılır; bu dilde ondalık ayracı olarak nokta kullanılır. 123.456 (Decimal)
Value( "123.456", "es-ES" )
Decimal( "123.456", "es-ES" )
"es-ES", İspanya'daki İspanyolca dilinin dil etiketidir. İspanya'da binlik ayracı noktadır. 123456 (Decimal)
Value( "123,456" )
Decimal ( "123.456" )
Varsayılan "en-US" dili kullanılır; bu dilde binlik ayracı olarak virgül kullanılır. 123456 (Decimal)
Value( "123.456", "es-ES" )
Decimal( "123.456", "es-ES" )
"es-ES", İspanya'daki İspanyolca dilinin dil etiketidir. İspanya'da ondalık ayracı virgüldür. 123.456 (Decimal)
Value( "12.34%" )
Decimal( "12.34%" )
Dizenin sonundaki yüzde işareti, dizenin bir yüzde değeri olduğunu belirtir. 0.1234 (Decimal)
Value( "$ 12.34" )
Decimal( "$ 12.34" )
Geçerli dil için para birimi simgesi yok sayılır. 12.34 (Decimal)
Value( "24e3" )
Decimal( "24e3" )
24 x 103 için bilimsel gösterim. 24000 (Decimal)
Value( true )
Decimal( true )
Bir Boole değerini false için 0, true için 1 olmak üzere bir sayıya dönüştürür 1 Decimal

Satışa Arz

Float işlevinin sonuçları, yukarıdakilere çok yakın olacaktır. 123.456 Float içinde tam olarak temsil edilemediğinden, sonuç çok yakın olan tahmini bir değerdir (123.456000000000003069544618484E2) ve bileşik yuvarlama hataları hesaplamaları beklenmedik bir sonuç verebilir. Bunun yerine, ortaya çıkan tür Float olur.

Büyük veya küçük sayı kullanımına göre işler farklılaşır.

Formül Description Result
Float( 1e100 ) Değişmez sayı 1e100Decimal aralığının dışında olduğundan, bu işlem Float işlevi çağrılmadan önce bir hatayla sonuçlanır. hata (taşma)
Decimal( 1e100 ) Aynı sorun Float işlevinde de yaşanır. hata (taşma)
Float( "1e100" ) Metin dizesindeki sayı, Float sayılarının aralığı içindedir. 1e100 Float
Decimal( "1e100" ) Metin dizesindeki sayı, Decimal sayılarının aralığının dışındadır. hata (taşma)
Float( "10000000000.0000000001" ) Metin dizesindeki sayı, Float sayılarının aralığı içindedir. Ancak sayı, Float'un sağlayabildiğinden daha fazla duyarlık gerektirir ve kesilir. 1 (Float)
Decimal ( "10000000000.0000000001" ) Metin dizesindeki sayı, Decimal sayılarının aralığının ve duyarlığının içindedir. 10000000000.0000000001 (Decimal)