Tôi chỉ đơn giản là cố gắng để có được một tỷ lệ phần trăm.Ruby từ chối chia chính xác
irb(main):001:0> (25/50) * 100
=> 0
Điều này chắc chắn nhất bằng 50, theo xác nhận của máy tính của tôi (được sao chép và dán cùng phương trình vào gcalc). Tại sao Ruby từ chối làm điều này?
bằng cách này , nếu phân chia thực sự bị phá vỡ trong Ruby, bạn có thực sự nghĩ rằng bạn sẽ là người đầu tiên nhận thấy nó? Nó luôn luôn làm tôi ngạc nhiên như thế nào mọi người nhìn thấy một hành vi bất ngờ và luôn luôn giả định nó là lỗi của ngôn ngữ, thư viện, môi trường, vv, và không bao giờ là lỗi của mã riêng của họ ... –
@ Daniel: Không chỉ Ruby, bất kỳ ngôn ngữ ... – gbn
Hầu hết các ngôn ngữ hoạt động như thế này, javascript là một ngoại lệ đáng chú ý. Trên thực tế Ruby là cực kỳ mát mẻ, tự động chuyển từ Fixnum sang Bignum khi bạn cần độ chính xác cao hơn. (BTW, những người khác làm điều đó? Phải có một số lang mà hiện nó ...) – DigitalRoss