Συναρτήσεις Decimal, Float και Value

Ισχύει σε: Εφαρμογές καμβά Στήλες τύπων Dataverse Ροές επιφάνειας εργασίας Εφαρμογές βάσει μοντέλου Power Platform CLI

Μετατρέπει μια συμβολοσειρά κειμένου ή άλλους τύπους σε έναν αριθμό.

Description

Σημείωμα

Το Power Apps υποστηρίζει μόνο τη συνάρτηση Value και επιστρέφει μια τιμή Float . Η υποστήριξη για τις συναρτήσεις Decimal και Float θα προστεθεί σύντομα.

Χρησιμοποιήστε τις συναρτήσεις Decimal, Float και Value για να μετατρέψετε μια συμβολοσειρά κειμένου που περιέχει αριθμούς σε μια αριθμητική τιμή. Χρησιμοποιήστε αυτή τη συνάρτηση όταν χρειάζεται να εκτελέσετε υπολογισμούς αριθμών που έχουν καταχωρηθεί ως κείμενο από έναν χρήστη. Αυτές οι συναρτήσεις μπορούν επίσης να χρησιμοποιηθούν για τη μετατροπή άλλων τύπων σε αριθμό, όπως η ημερομηνία/ώρα και η δυαδική τιμή.

Η συνάρτηση Value θα επιστρέψει τον προεπιλεγμένο τύπο αριθμητικών δεδομένων για τον κεντρικό υπολογιστή Power Fx που χρησιμοποιείτε, που είναι συνήθως Decimal και η καλύτερη επιλογή για τις περισσότερες περιπτώσεις. Χρησιμοποιήστε τις συναρτήσεις Decimal και Float όταν χρειάζεστε έναν συγκεκριμένο τύπο δεδομένων για ένα συγκεκριμένο σενάριο, όπως έναν επιστημονικό υπολογισμό με έναν πολύ μεγάλο αριθμό. Για περισσότερες λεπτομέρειες σχετικά με την εργασία με αυτούς τους τύπους δεδομένων, ανατρέξτε στην ενότητα "Αριθμοί" των τύπων δεδομένων.

Διαφορετικές γλώσσες ερμηνεύουν τα , και . διαφορετικά. Από προεπιλογή, το κείμενο ερμηνεύεται στη γλώσσα του τρέχοντος χρήστη. Μπορείτε να καθορίσετε τη γλώσσα προς χρήση με μια ετικέτα γλώσσας, χρησιμοποιώντας τις ίδιες ετικέτες γλώσσας που επιστρέφουν από τη συνάρτηση Language.

Σημειώσεις για τη μορφή της συμβολοσειράς:

  • Η συμβολοσειρά ενδέχεται να έχει ένα πρόθεμα με το σύμβολο νομίσματος για την τρέχουσα γλώσσα. Το σύμβολο νομίσματος παραβλέπεται. Τα σύμβολα νομίσματος για άλλες γλώσσες δεν παραβλέπονται.
  • Η συμβολοσειρά ενδέχεται να περιλαμβάνει ένα σύμβολο ποσοστού (%) στο τέλος, που υποδεικνύει ότι πρόκειται για ποσοστό. Ο αριθμός θα διαιρεθεί με 100 πριν την επιστροφή του. Δεν είναι δυνατός ο συνδυασμός συμβόλων ποσοστών και νομισμάτων.
  • Η συμβολοσειρά ενδέχεται να είναι σε επιστημονική σημειογραφία, με το 12 x 103 εκφρασμένο ως "12e3".

Εάν ο αριθμός δεν είναι σε σωστή μορφή, αυτές οι συναρτήσεις θα επιστρέψουν ένα σφάλμα.

Για να μετατρέψετε τιμές ημερομηνίας και ώρας, χρησιμοποιήστε τις συναρτήσεις DateValue, TimeValue ή DateTimeValue.

Σύνταξη

Decimal( Συμβολοσειρά [, LanguageTag ] )
Float( Συμβολοσειρά [, LanguageTag ] )
Value( String [, LanguageTag ] )

  • String - Υποχρεωτικό. Η συμβολοσειρά για μετατροπή σε αριθμητική τιμή.
  • LanguageTag - Προαιρετικό. Η ετικέτα γλώσσας στην οποία θα αναλυθεί η συμβολοσειρά. Εάν δεν καθοριστεί, χρησιμοποιείται η γλώσσα του τρέχοντος χρήστη.

Decimal( Untyped )
Float( Untyped )
Value( Untyped )

  • Untyped - Υποχρεωτικό. Μη πληκτρολογημένο αντικείμενο που αναπαριστά έναν αριθμό. Οι αποδεκτές τιμές εξαρτώνται από τον μη πληκτρολογημένο πάροχο. Για το JSON, το μη τυπολογημένο αντικείμενο αναμένεται να είναι ένας αριθμός JSON, δυαδική τιμή ή κείμενο που μπορεί να μετατραπεί σε αριθμό. Λάβετε υπόψη σας ότι οι μορφές που σχετίζονται με τις τοπικές ρυθμίσεις είναι σημαντικά ζητήματα κατά την επικοινωνία με εξωτερικά συστήματα.

Παραδείγματα

Ο χρήστης που εκτελεί αυτούς τους τύπους βρίσκεται στις Ηνωμένες Πολιτείες και έχει επιλέξει τα Αγγλικά ως τη γλώσσα του. Η συνάρτηση Language επιστρέφει "en-US". Ο κεντρικός υπολογιστής Power Fx χρησιμοποιεί Decimal από προεπιλογή.

Value και Decimal

Εφόσον χρησιμοποιούμε έναν κεντρικό υπολογιστή που έχει τιμή Decimal από προεπιλογή, τα Value και Decimal θα επιστρέψουν τα ίδια αποτελέσματα.

Τύπος Description Result
Value( "123.456" )
Decimal( "123,456" )
Θα χρησιμοποιηθεί η προεπιλεγμένη γλώσσα "en-US", η οποία χρησιμοποιεί την τελεία ως υποδιαστολή. 123,456 (Decimal)
Value( "123.456"; "es-ES" )
Decimal( "123,456", "es-ES" )
Το "es-ES" είναι η ετικέτα γλώσσας για τα Ισπανικά στην Ισπανία. Στην Ισπανία, το διαχωριστικό χιλιάδων είναι η τελεία. 123456 (Decimal)
Value( "123,456" )
Decimal( "123.456" )
Θα χρησιμοποιηθεί η προεπιλεγμένη γλώσσα "en-US", η οποία χρησιμοποιεί το κόμμα ως διαχωριστικό χιλιάδων. 123456 (Decimal)
Value( "123.456"; "es-ES" )
Decimal( "123.456", "es-ES" )
Το "es-ES" είναι η ετικέτα γλώσσας για τα Ισπανικά στην Ισπανία. Στην Ισπανία, η υποδιαστολή είναι το κόμμα. 123.456 (Decimal)
Value( "12,34%" )
Decimal( "12.34%" )
Το σύμβολο ποσοστού στο τέλος της συμβολοσειράς υποδεικνύει ότι πρόκειται για ένα ποσοστό. 0,1234 (Decimal)
Value( "$ 12,34" )
Decimal( "$ 12,34" )
Το σύμβολο νομίσματος για την τρέχουσα γλώσσα παραβλέπεται. 12,34 (Decimal)
Value( "24e3" )
Decimal( "24e3" )
Επιστημονική σημειογραφία για το 24 x 103. 24000 (Decimal)
Value( true )
Decimal( true )
Μετατρέπει μια δυαδική τιμή σε αριθμό, το 0 για την τιμήfalse και το 1 για true 1 Decimal

Float

Η συνάρτηση Float θα έχει λίγο πολύ τα ίδια αποτελέσματα όπως παραπάνω. Καθώς το 123,456 δεν μπορεί να αντιπροσωπεύεται με ακρίβεια στο Float, το αποτέλεσμα είναι ένα αποτέλεσμα που είναι πολύ κοντά στο (123.456000000000003069544618484E2) και ο υπολογισμός των σφαλμάτων στρογγυλοποιώντας θα μπορούσε να οδηγήσει σε απροσδόκητο αποτέλεσμα. Αντ' αυτού, ο τύπος που προκύπτει θα είναι Float.

Το σημείο στο οποίο χρησιμοποιούνται πράγματα είναι εάν χρησιμοποιούνται μεγαλύτεροι ή μικρότεροι αριθμοί.

Τύπος Description Result
Float( 1e100 ) Επειδή ο αριθμός λεκτικής σταθεράς 1e100 είναι εκτός του εύρους Decimal, αυτό οδηγεί σε ένα σφάλμα πριν από την κλήση της συνάρτησης Float. σφάλμα (υπερχείλιση)
Decimal( 1e100 ) Το ίδιο πρόβλημα όπως και με τη συνάρτηση Float. σφάλμα (υπερχείλιση)
Float( "1e100" ) Ο αριθμός στη συμβολοσειρά κειμένου βρίσκεται εντός του εύρους των αριθμών Float. 1e100 Float
Decimal( "1e100" ) Ο αριθμός στη συμβολοσειρά κειμένου βρίσκεται πέραν του εύρους των αριθμών Decimal. σφάλμα (υπερχείλιση)
Float( "10000000000.0000000001" ) Ο αριθμός στη συμβολοσειρά κειμένου βρίσκεται εντός του εύρους των αριθμών Float. Ωστόσο, ο αριθμός απαιτεί μεγαλύτερη ακρίβεια από ό,τι μπορεί το Float μπορεί να παρέχει και θα περικοπεί. 1 (Float)
Decimal( "10000000000.0000000001" ) Ο αριθμός στη συμβολοσειρά κειμένου βρίσκεται εντός του εύρους και της ακρίβειας αριθμών Decimal. 10000000000.0000000001 (Decimal)