Tôi cần sử dụng phần trăm trong ứng dụng Rails của mình. Trong bất kỳ chế độ xem nào, kể cả khi được người dùng nhập, định dạng sẽ cần phải là định dạng hàng trăm, 100.000
. Khi nó được sử dụng trong tính toán, nó cần phải được đại diện theo định dạng hàng trăm, 1.00000
.Lưu trữ phần trăm trong Rails + MySQL
di cư của tôi (tôi thêm cột vào một bảng hiện có) có dòng sau:
add_column :worker, :cash_split, :decimal, :precision => 6, :scale => 5
Vì vậy, tính đến ngay bây giờ, tôi đang lưu trữ nó trong trăm (1.00000
) định dạng. Cơ sở của tôi cho việc chọn lưu trữ nó theo định dạng này là tôi hình nó sẽ có nghĩa là logic kinh doanh sạch hơn (tức là không có mã số worker.cash_split/100.0.to_d
treo xung quanh) khi tôi cần làm phép nhân.
Suy nghĩ duy nhất khác của tôi là có thể lạm dụng phương thức created_of. Tôi có thể lưu trữ dữ liệu ở định dạng hàng trăm (100.000
) dưới dạng cash_split và sau đó tạo một trình truy cập thuộc tính cash_split_percentage
trả về cash_split
trong đối tác định dạng 1.0000 của nó.
Bạn sẽ xử lý tỷ lệ phần trăm trong biểu mẫu như thế nào? Người dùng sẽ muốn nhập nó như 45% nhưng nó sẽ được lưu trữ là 0,45. Tuy nhiên, nếu người dùng nhập vào trường khác sai và biểu mẫu được hiển thị lại, trường phần trăm sẽ có 45 và không phải là 0,45. Với điều này tôi muốn nói rằng một cuộc gọi lại có thể không phải là giải pháp cuối cùng. –
bạn có thể viết getters và setters cho tỷ lệ phần trăm theo định dạng hàng trăm. do đó bạn sẽ có thuộc tính #some_ratio và các phương thứC#some_ration_percentage & # some_ration_percentage = sẽ chỉ chia/nhân với 100 và tiếp tục. – Emirikol