Tôi muốn phân tích giá trị double
thành một số string
. Tôi muốn số của tôi có số chữ số được chỉ định (mà tôi sẽ không biết cho đến khi chạy). Nếu con số này có thể được biểu diễn bằng một giá trị khác không theo số chữ số thì đây là những gì tôi muốn. Nếu con số xuất hiện như số không như thế này, tôi muốn nó được thể hiện bằng ký hiệu khoa học.Chỉ sử dụng ký pháp khoa học nếu cần
Một số ví dụ sẽ làm cho điều này rõ ràng hơn, điều này giả định tôi muốn 3 chữ số:
Value: 0,2367 Output: "0,23"
Value: 0,00367 Output: "3.67E-3"
Giá trị: 22.3 Đầu ra: "22,3"
Value: 3364,0 Output: "3.36E3"
Công việc của tôi xung quanh giải pháp sẽ sử dụng ToString() phương pháp và N
numeric format string và nếu nó kết quả trong zero của trở lại chuỗi định dạng E
, nhưng điều này cảm thấy như phát minh lại bánh xe. Có ai biết nếu một phương pháp được xây dựng trong để làm điều này?
Bạn sẽ không muốn 2.37E-1 cho người đầu tiên? –
Thực ra, sở thích của tôi sẽ chỉ sử dụng ký hiệu khoa học nếu tất cả các giá trị là 0, nhưng cả hai cách sẽ đủ. – Fr33dan