Bagikan melalui


Fungsi Desimal, Float, dan Nilai

Berlaku untuk: Kolom rumus aplikasi Dataverse kanvas Alur desktop Aplikasi Power Platform berbasis model CLI

Mengonversi string teks atau tipe lain menjadi angka.

Description

Catatan

Power Apps hanya mendukung fungsi Value dan mengembalikan nilai Float . Dukungan untuk fungsi Decimal dan Float akan segera ditambahkan.

Gunakan fungsi Desimal, Float, dan Value untuk mengonversi string teks yang berisi karakter angka menjadi nilai numerik. Gunakan fungsi ini saat Anda perlu melakukan penghitungan pada angka yang dimasukkan sebagai teks oleh pengguna. Fungsi-fungsi ini juga dapat digunakan untuk mengonversi jenis lain menjadi angka, seperti tanggal / waktu dan Boolean.

Fungsi Value akan mengembalikan tipe data numerik default untuk host yang Anda gunakan, yang biasanya Power Fx Desimal dan pilihan terbaik untuk sebagian besar situasi. Gunakan fungsi Desimal dan Float saat Anda memerlukan tipe data tertentu untuk skenario tertentu, seperti perhitungan ilmiah dengan angka yang sangat besar. Untuk detail selengkapnya tentang bekerja dengan tipe data ini, lihat bagian Angka dari Tipe data.

Bahasa yang berbeda menafsirkan ,, dan . dengan cara berbeda. Secara default, teks diinterpretasikan dalam bahasa pengguna saat ini. Anda dapat menentukan bahasa yang akan digunakan dengan tag bahasa, menggunakan tag bahasa yang dihasilkan oleh fungsi Language.

Catatan tentang format string:

  • String mungkin diawali dengan simbol mata uang untuk bahasa saat ini. Simbol mata uang diabaikan. Simbol mata uang untuk bahasa lain tidak diabaikan.
  • String mungkin menyertakan tanda persen (%) di akhir, yang menunjukkan bahwa itu adalah persentase. Nomor akan dibagi dengan 100 sebelum dihasilkan. Persentase dan simbol mata uang tidak dapat dicampur.
  • String mungkin dalam notasi ilmiah, dengan 12 x 103 dinyatakan sebagai "12e3".

Jika angka tidak dalam format yang tepat, fungsi-fungsi ini akan mengembalikan kesalahan.

Untuk mengonversi nilai tanggal dan waktu, gunakan fungsi DateValue, TimeValue, atau DateTimeValue.

Sintaks

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

  • String - Wajib. String untuk mengonversi nilai numerik.
  • LanguageTag - Opsional. Tag bahasa yang akan mem-parse string. Jika tidak ditentukan, bahasa pengguna saat ini digunakan.

Desimal( Tidak diketik )
Float ( Tidak diketik )
Value( Tidak Berjenis )

Contoh

Pengguna yang menjalankan rumus ini terletak di Amerika Serikat dan telah memilih bahasa Inggris sebagai bahasa mereka. Fungsi Language menghasilkan "en-US". Host Power Fx menggunakan Desimal secara default.

Nilai dan Desimal

Karena kita menggunakan host yang memiliki Desimal sebagai default, Nilai dan Desimal akan mengembalikan hasil yang sama.

Rumus Description Hasil
Value( "123.456" )
Desimal( "123.456" )
Bahasa default "en-US" akan digunakan, yang menggunakan periode sebagai pemisah desimal. 123.456 (Desimal)
Value( "123.456", "es-ES" )
Desimal( "123.456", "es-ES" )
"es-ES" adalah tag bahasa untuk bahasa Spanyol di Spanyol. Di Spanyol, titik adalah pemisah ribuan. 123456 (Desimal)
Value( "123,456" )
Desimal( "123,456" )
Bahasa default "en-US" akan digunakan, yang menggunakan koma sebagai pemisah ribuan. 123456 (Desimal)
Value( "123.456", "es-ES" )
Desimal( "123,456", "es-ES")
"es-ES" adalah tag bahasa untuk bahasa Spanyol di Spanyol. Di Spanyol, koma adalah pemisah desimal. 123.456 (Desimal)
Value( "12.34%" )
Desimal( "12.34%")
Tanda persentase di akhir string menunjukkan bahwa ini adalah persentase. 0,1234 (Desimal)
Value( "$ 12.34" )
Desimal( "$ 12.34" )
Simbol mata uang untuk bahasa saat ini diabaikan. 12.34 (Desimal)
Value( "24e3" )
Desimal( "24e3" )
Notasi ilmiah untuk 24 x 103. 24000 (desimal)
Nilai (benar)
Desimal( benar )
Mengonversi Boolean menjadi angka, 0 untuk false dan 1 untuk true 1 Desimal

Float

Fungsi Float akan memiliki hasil yang sangat mendekati hasil yang sama seperti di atas. Karena 123.456 tidak dapat diwakili secara tepat dalam Float, hasilnya adalah perkiraan yang sangat dekat (123.456000000000003069544618484E2) dan perhitungan kesalahan pembulatan gabungan dapat menghasilkan hasil yang tidak terduga. Jenis yang dihasilkan akan menjadi Float sebagai gantinya.

Di mana hal-hal berbeda adalah jika angka yang lebih besar atau lebih kecil digunakan.

Rumus Description Hasil
Lampung ( 1e100 ) Karena angka 1e100 literal berada di luar rentang Desimal, ini menghasilkan kesalahan sebelum memanggil fungsi Float . kesalahan (overflow)
Desimal( 1e100 ) Masalah yang sama seperti dengan fungsi Float . kesalahan (overflow)
Lampung ("1e100") Angka dalam string teks berada dalam kisaran angka Float . 1e100 Lampung
Desimal( "1e100" ) Angka dalam string teks berada di luar rentang angka desimal . kesalahan (overflow)
Lampung( "10000000000.0000000001") Angka dalam string teks berada dalam kisaran angka Float . Namun, angka tersebut membutuhkan lebih banyak presisi daripada yang dapat disediakan oleh Float dan akan dipotong. 1 (Lampung)
Desimal( "10000000000.0000000001") Angka dalam string teks berada dalam rentang dan presisi angka Desimal . 10000000000.0000000001 (Desimal)