Làm thế nào để làm cho AppleScript đếm chính xác?


4

Làm cách nào để tôi đếm chính xác AppleScript?

Theo AppleScript, phương trình sau đây sẽ đúng:
89723443578920345892 / 2 = 448617217894600000000

Điều đó, mặc dù, không phải là sự thật. Tôi có thể làm gì để làm cho AppleScript thực sự được tính mà không làm tròn nó sau đó?

Câu trả lời:


7

Tiện ích dòng lệnh bc có khả năng toán học chính xác tùy ý và bạn có thể gọi một tiện ích dòng lệnh từ AppleScript và nhận giá trị từ nó.

Ví dụ:

set myVariable to do shell script "echo \"89723443578920345892 / 2\" | bc"

Cho kết quả này: 44861721789460172946

Để truyền các đối số dòng lệnh dưới dạng các biến AppleScript:

set myNumber1 to "89723443578920345892"
set myNumber2 to "2"
set myVariable to do shell script "echo " & myNumber1 & " / " & myNumber2 & "| bc"

Nhưng điều này khiến chúng ta trở lại vấn đề ban đầu, AppleScript đại diện cho số lượng lớn dưới dạng nổi, vì vậy tôi phải chuyển giá trị dưới dạng chuỗi. Vì vậy, tùy thuộc vào nơi bạn nhận được số lượng rất lớn từ đó, điều này có thể là vấn đề hoặc không phải là giải pháp.


Tôi có thể bao gồm các biến trong đếm dòng lệnh? Tôi cần biến để tự đặt / 2.
Prokop Hanzl

1
Tôi đã gửi một bản chỉnh sửa bao gồm việc chuyển các số từ các biến sang dòng lệnh, nhưng tôi gặp phải vấn đề AppleScript đại diện cho các số dưới dạng nổi.
David Rouse
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.