Các hàm thập phân, số thực và giá trị
Áp dụng cho: Ứng dụng Canvas Dataverse Cột công thức Luồng máy tính để bàn Ứng dụng dựa trên mô hình Power Pages Power Platform CLI
Chuyển đổi một chuỗi văn bản hoặc các kiểu dữ liệu khác thành số.
Description
Lưu ý
Power Apps chỉ hỗ trợ hàm Giá trị và trả về giá trị Float . Hỗ trợ cho các hàm Decimal và Float sẽ sớm được bổ sung.
Sử dụng các hàm Decimal, Float và Value để chuyển đổi chuỗi văn bản chứa các ký tự số thành giá trị số. Sử dụng các hàm này khi bạn cần thực hiện các phép tính trên các số được người dùng nhập dưới dạng văn bản. Các hàm này cũng có thể được sử dụng để chuyển đổi các kiểu dữ liệu khác thành số, chẳng hạn như ngày/giờ và Boolean.
Hàm Giá trị sẽ trả về kiểu dữ liệu số mặc định cho Power Fx máy chủ bạn đang sử dụng, thường là Thập phân và là lựa chọn tốt nhất cho hầu hết các tình huống. Sử dụng các hàm Thập phân và Số thực khi bạn cần một kiểu dữ liệu cụ thể cho một tình huống cụ thể, chẳng hạn như phép tính khoa học với số rất lớn. Để biết thêm chi tiết về cách làm việc với các kiểu dữ liệu này, hãy xem phần Số của Kiểu dữ liệu.
Các ngôn ngữ khác nhau diễn giải , và . khác nhau. Theo mặc định, văn bản được diễn giải bằng ngôn ngữ của người dùng hiện tại. Bạn có thể chỉ định ngôn ngữ để dùng với thẻ ngôn ngữ, sử dụng chính các thẻ ngôn ngữ mà hàm Language trả về.
Ghi chú về định dạng của chuỗi:
- Chuỗi có thể bắt đầu bằng ký hiệu tiền tệ của ngôn ngữ hiện tại. Ký hiệu tiền tệ này bị bỏ qua. Ký hiệu tiền tệ của các ngôn ngữ khác không bị bỏ qua.
- Chuỗi có thể bao gồm dấu phần trăm (%) ở cuối, để biểu thị rằng đó là phần trăm. Số sẽ được chia cho 100 trước khi được trả về. Không thể trộn lẫn phần trăm và ký hiệu tiền tệ.
- Chuỗi có thể theo ký hiệu khoa học, với 12 x 103 được thể hiện là "12e3".
Nếu số không có định dạng phù hợp, các hàm này sẽ trả về lỗi.
Để chuyển đổi giá trị ngày và giờ, hãy sử dụng các hàm DateValue, TimeValue hoặc DateTimeValue.
Cú pháp
Thập phân( Chuỗi [, Thẻ ngôn ngữ ] )
Nổi( Chuỗi [, Thẻ ngôn ngữ ] )
Giá trị( Chuỗi [, Thẻ ngôn ngữ ] )
- Chuỗi - Bắt buộc. Chuỗi để chuyển đổi thành một giá trị số.
- LanguageTag - Tùy chọn. Thẻ ngôn ngữ để phân tích cú pháp chuỗi. Nếu không được chỉ định, thì ngôn ngữ của người dùng hiện tại sẽ được sử dụng.
Thập phân( Không gõ )
Float( Đã bỏ gõ )
Giá trị( Không nhập )
- Không gõ - Bắt buộc. đối tượng chưa được phân loại đại diện cho một con số. Các giá trị được chấp nhận phụ thuộc vào nhà cung cấp chưa được nhập. Đối với JSON, đối tượng chưa được phân loại được mong đợi là một số JSON, Boolean hoặc văn bản có thể chuyển đổi thành số. Lưu ý rằng bạn nên cân nhắc những định dạng liên quan đến ngôn ngữ khi giao tiếp với các hệ thống bên ngoài.
Ví dụ
Người dùng chạy các công thức này ở tại Hoa Kỳ và đã chọn tiếng Anh làm ngôn ngữ của họ. Hàm Language đang trả về "en-US". Theo mặc định, máy chủ sử dụng Power Fx số thập phân .
Giá trị và thập phân
Vì chúng ta đang sử dụng máy chủ có Decimal làm mặc định, Value và Decimal sẽ trả về cùng một kết quả.
Công thức | Description | Kết quả |
---|---|---|
Giá trị( "123.456" ) Thập phân( "123.456") |
Ngôn ngữ mặc định của "en-US" sẽ được sử dụng, trong đó dấu chấm sẽ là dấu phân tách thập phân. | 123.456 (Thập phân) |
Giá trị( "123.456", "es-ES") Thập phân( "123.456", "es-ES") |
"Es-ES" là thẻ ngôn ngữ cho tiếng Tây Ban Nha ở Tây Ban Nha. Ở Tây Ban Nha, dấu chấm là dấu phân tách hàng nghìn. | 123456 (Số thập phân) |
Giá trị( "123,456") Thập phân( "123,456") |
Ngôn ngữ mặc định của "en-US" sẽ được sử dụng, trong đó dấu phẩy sẽ là dấu phân tách hàng nghìn. | 123456 (Số thập phân) |
Giá trị( "123,456", "es-ES") Thập phân( "123,456", "es-ES") |
"Es-ES" là thẻ ngôn ngữ cho tiếng Tây Ban Nha ở Tây Ban Nha. Ở Tây Ban Nha, dấu phẩy là dấu phân tách thập phân. | 123.456 (Thập phân) |
Giá trị( "12.34%") Thập phân( "12.34%") |
Dấu phần trăm ở cuối chuỗi cho biết đây là tỷ lệ phần trăm. | 0,1234 (Số thập phân) |
Giá trị( "$ 12.34" ) Thập phân( "$ 12.34" ) |
Ký hiệu tiền tệ của ngôn ngữ hiện tại bị bỏ qua. | 12.34 (Số thập phân) |
Giá trị( "24e3") Thập phân( "24e3") |
Ký hiệu khoa học cho 24 x 103. | 24000 (Số thập phân) |
Giá trị( đúng ) Thập phân(đúng) |
Chuyển đổi Boolean thành một số, 0 cho false và 1 cho true | 1 Số thập phân |
Float
Hàm Float sẽ có kết quả gần giống như trên. Vì 123,456 không thể được biểu diễn chính xác trong Float, nên kết quả là một phép tính gần đúng rất gần với (123.456000000000003069544618484E2) và việc tính toán lỗi làm tròn có thể dẫn đến kết quả không mong muốn. Kiểu kết quả sẽ là Float .
Sự khác biệt nằm ở chỗ sử dụng số lớn hơn hay số nhỏ hơn.
Công thức | Description | Kết quả |
---|---|---|
Phao( 1e100 ) | Vì số thực tế 1e100 nằm ngoài phạm vi của số thập phân, điều này dẫn đến lỗi trước khi gọi hàm số thực . |
lỗi (tràn) |
Thập phân ( 1e100 ) | Vấn đề tương tự như với hàm Float . | lỗi (tràn) |
Phao( "1e100") | Số trong chuỗi văn bản nằm trong phạm vi số Float . | 1e100 Nổi |
Thập phân( "1e100") | Số trong chuỗi văn bản nằm ngoài phạm vi số thập phân. | lỗi (tràn) |
Phao( "10000000000.0000000001") | Số trong chuỗi văn bản nằm trong phạm vi số Float . Tuy nhiên, số này cần độ chính xác cao hơn so với số Float có thể cung cấp và sẽ bị cắt bớt. | 1 (Nổi) |
Thập phân( "10000000000.0000000001") | Số trong chuỗi văn bản nằm trong phạm vi và độ chính xác của số thập phân. | 10000000000.0000000001 (Số thập phân) |