Tôi có một số BigDecimal và tôi chỉ xem xét 2 chữ số thập phân của nó vì vậy tôi cắt nó bằng cách sử:Format một BigDecimal như String với tối đa 2 chữ số thập phân, loại bỏ 0 trên phần thập phân
bd = bd.setScale(2, BigDecimal.ROUND_DOWN)
Bây giờ tôi muốn in nó như string nhưng loại bỏ phần thập phân nếu nó là 0, ví dụ:
1.00 -> 1
1.50 -> 1.5
1,99 -> 1,99
Tôi đã thử sử dụng Formatter, formatter.format nhưng tôi luôn nhận được 2 chữ số thập phân.
Tôi làm cách nào để thực hiện việc này? Có thể làm việc trên chuỗi từ bd.toPlainString()?
sản lượng dự kiến cho chương trình này là gì. Tôi nhận được các yêu cầu tương tự đối với số không theo sau dấu thập phân sau dấu thập phân số không như **. 00 ** cắt ngắn trong đầu ra. –
@ParameshKorrakuti 'df.setMinimumFractionDigits (2)' hoạt động tốt mà không có setScale và setGrouping và setMaxFrac. –
Định dạng thập phân là NumberFormat trong ngụy trang. Sử dụng 'NumberFormat numberFormat = NumberFormat.getPercentInstance();' rồi 'numberFormat.setMinimumFractionDigits (2);' sau đó 'String percent = numberFormat.format (yourBigDecimal);' –