Tôi đang tạo một chương trình Java Android đang lấy giá trị gấp đôi từ người dùng. Nếu tôi chạy chương trình trên máy tính, nó hoạt động rất tốt vì ngôn ngữ của máy tính của tôi, EN_UK. Nhưng khi tôi chạy nó trên điện thoại di động của tôi với miền địa phương FI_FI, nó sẽ không hoạt động. Tôi biết lý do: Ở Anh, người ta sử dụng dấu chấm dưới dạng số thập phân nhưng ở Phần Lan, dấu phẩy thập phân là dấu phẩy.Đôi, dấu phẩy và dấu chấm
DecimanFormat df = new DecimalFormat("#.#");
Double returnValue = Double.valueOf(df.format(doublenumber));
Khi tôi đang sử dụng dấu phẩy, nó nói java.lang.NumberFormatException: Invalid double: "1234,5"
.
Tôi làm cách nào để nó hoạt động cùng với cả dấu phẩy và dấu chấm?
Tại sao bạn không chỉ phân tích chuỗi và thay thế các dấu phẩy với dấu chấm nếu cần thiết? – guitarflow
Giải pháp không thông minh là thay thế tất cả các dấu phẩy bằng dấu chấm đầu tiên và sau đó xử lý số như thể nó được định dạng bằng dấu chấm. –