Làm cách nào tôi có thể chuyển đổi số nhập của người dùng từ một số từ 11,5 đến 11,5?Chuyển đổi dấu phẩy thành dấu phân cách
Tôi đã thử những điều sau khi gọi lại:
before_validation :comma_to_delimiter
def comma_to_delimiter
self.price.to_s.gsub(',', '.').to_f
end
Nhưng điều này không làm việc. Tôi muốn người dùng có thể nhập bất kỳ thứ gì anh ta muốn làm dấu phân cách - hiện tại, ứng dụng sẽ phát ra lỗi khi người dùng sử dụng dấu phẩy thay vì một điểm.
Bạn có thể giải thích loại self.price giá trị nào không? – Slicedpan
Bạn muốn thay đổi điều này để hiển thị trong ứng dụng đường ray, phải không? –
Không, tôi không quan tâm về cách nó được hiển thị. Tôi đã thực hiện điều đó thông qua các ngôn ngữ. Giá là một giá trị float cần được lưu trữ dưới dạng dấu phẩy với dấu phân cách. Vấn đề là ở Đức, mọi người nhập vào dấu phẩy thay vì chỉ là dấu phân cách. Vì vậy, ngay cả khi một người Đức gõ "5,5", nó vẫn nên được lưu trữ là "5,5". Và nếu ai đó nhập chính xác ở vị trí đầu tiên, chẳng hạn như "5.5", thì không có gì phải thay đổi. Bất kỳ ý tưởng làm thế nào để làm điều này? – weltschmerz