2012-05-25 50 views
5

tôi muốn cho phép người dùng chỉnh sửa trường có dữ liệu kép. Tôi muốn cho phép Double.NaN (để làm mất giá trị). Có một cách chung chung (một chuỗi được xác định trước) được phân tích cú pháp thành Double.NaN từ phương thức Double.valueOf(String) mà không kiểm tra nó trong nền?Chuỗi phân tích cú pháp thành Double.NaN

Có một char đặc biệt trông giống như một viên kim cương có dấu hỏi trong đó (trong HTML) hoạt động như NaN, nhưng - tốt - người dùng sẽ không tìm thấy trên khóa của họ.

Trả lời

8

Bạn có thể vượt qua +NaN hoặc -NaN hoặc NaN đến valueOf() và yêu cầu trả lại NaN. documentation cung cấp đầy đủ chi tiết.

+0

Ok mà làm việc, nhưng không phải đối với trường hợp đặc biệt của tôi. Tôi nên đề cập rằng tôi sử dụng Groovy/Grails để phân tích nó từ dữ liệu Biểu mẫu HTML thành dữ liệu kép. Nó nói rằng nó là một "Số không thể đếm được" và thoát với một IllegalArgumentException. Có thể một phương pháp khác được gọi để chuyển đổi thuộc tính ... – matcauthon

+0

Đó không phải là câu hỏi mà bạn đã hỏi. Bạn đã hỏi về 'Double.valueOf'. Có vẻ như bạn cần một câu hỏi mới. –

+1

Tôi nghĩ rằng quá trình chuyển đổi gọi đôi.valueOf (String) của chính nó và do đó là một điều Java liên quan đơn giản, nhưng dường như nó không phải là. Khó khăn của nó để gỡ lỗi và tìm thấy những gì thực sự được gọi là. Tôi xin lỗi vì câu hỏi không rõ ràng đó! – matcauthon

1

parseDouble("NaN") sẽ trả về một giá trị NaN:

System.out.println(Double.isNaN(Double.parseDouble("NaN")); 
Các vấn đề liên quan