Bash:
Làm tròn số

Cách thực hiện:

Dưới đây là thông tin chi tiết về làm tròn trong Bash:

# Làm tròn xuống sử dụng 'floor' với bc
echo "scale=0; 3.49/1" | bc

# Làm tròn lên sử dụng 'ceiling' với bc
echo "scale=0; 3.01/1" | bc -l

# Làm tròn đến số nguyên gần nhất sử dụng printf
printf "%.0f\n" 3.49

# Một mẹo để làm tròn đến số nguyên gần nhất sử dụng bc
echo "(3.49+0.5)/1" | bc

Kết quả mẫu—trực tiếp từ terminal:

3  # Làm tròn xuống (floor)
4  # Làm tròn lên (ceiling)
3  # Làm tròn đến gần nhất (với printf)
3  # Làm tròn đến gần nhất (với bc)

Sâu hơn nữa

Ngày xưa, không có bc hoặc printf trong kịch bản Bash để thực hiện phép toán diệu kỳ. Người dùng cổ điển phải dựa vào công cụ bên ngoài hoặc tìm tòi giải pháp sáng tạo. Bây giờ, bc cho phép bạn thực hiện toán học chính xác. Hãy lưu ý, bc không làm tròn theo mặc định—nó làm tròn xuống. Phần scale đặt hành động cho điểm thập phân.

Có cách thay thế? Bạn có thể sử dụng awk để làm tròn mà không cần chuyển qua bc hoặc đấu tranh với perl cho nhu cầu toán học nặng nề hơn. Dành cho những người quá khích, hãy đi với Bash thuần túy, chẳng hạn, thao tác chuỗi lặp lại – nhưng tại sao?

Về chi tiết, bc không chỉ làm tròn, nó thực hiện rất nhiều thứ toán học—tính tỉ lệ, hàm sin, căn bậc hai, bạn tên nó. Với printf, đó là nhiều hơn về định dạng văn bản, nhưng này, nó cũng làm tròn số, vì vậy chúng tôi không phàn nàn.

Xem thêm

Dành cho những ai muốn tìm hiểu thêm: