Cách làm tròn số trong java

java

(BigZero) #1

Mình đang giải quyết 1 bài tập java cần phải làm tròn 1 số .
Bây giờ mình nhập 1 số . VD: 4.23 thì làm tròn xuống là 4.
Còn khi nhập 4.6 thì làm tròn lên thành 5 .
Có cách nào tối ưu không ạ !!


(Gió) #2

Dùng Math.round nhé


(Nguyễn Công Kiên) #3

Nhưng cấu hỏi cơ bản này, mình nghĩ bạn nên học cách search google, cho nhanh và hiệu quả, tiết kiệm thời gian cho bạn!


(VirginsTv) #4

http://www.tutorialspoint.com/java/number_round.htm


(BigZero) #5

mình đã search chỉ muốn đặt câu hỏi thêm cho ai chưa biết có thể tham khảo thôi


(Ai Ti) #6

Nếu bạn muốn làm tròn như thế này
4.4654545 -> 4.5 thì có thể dùng cách:
Math.round(4.4654545*10)/10 nhá :smile:

Tương tự là muốn lấy 2 số thập phân thì nhân có 100, lấy 3 số thì nhân cho 1000 rồi làm tròn, làm tròn xong thì chia lại con số vừa nhân

P/S: Chủ yếu biết thêm thôi :smiley:


(Onlyme) #7

Theo ví dụ của bạn thì dùng cách này đc ko : int n=(int)(n+0.5)


(Ai Android) #8

Ngoài ra còn có
Math.ceil(2.1)=3
Math.floor(2.6)=2


(Trần Tiến Dũng) #9

minh lam theo nhu ban noi va van k ra ket qua


(Trần Hoàn) #11

Có, vì những câu như thế này search cái là ra, kết quả đầy trên google, không đến lượt DayNhauHoc.


(Nyakuza) #12

Mấy đáp án trên nếu dùng cho winform thì khi cài sang 1 vài máy khác sẽ có 1 số máy tính không làm tròn
Đây mới là code c# chuẩn nhất mà mình dùng để làm phần mềm QLTD:

//using System.Globalization;
var value = item["diemSo"].ToString();
double convertedValue = Double.Parse(value, CultureInfo.InvariantCulture);
convertedValue= Math.Round(convertedValue, 2, MidpointRounding.AwayFromZero); 
// convertedValue là số làm tròn

(Sang Nguyễn) #13
        System.out.println("Điểm trung bình lớp: " + (double)Math.round((sum/count)*100)/100 );

cách này mới đc


(Hi I'm Luccy) #15

Hi all… emmới tham gia.
cũng là vấn đề làm tròn số. nhưng từ số a =10, kết quả yêu cầu là 10.00 (làm tròn đến 2 chữ số thập phân).

em đã thử các cách mà mn gợi ý: round, ceil. Nhưng kết quả luôn là 10.0 @@
Mong mn giúp em với chứ bế tắc lắm rồi @@


(Quân) #16

Theo quy tắc toán học thì làm gì có số 10.00.


(rogp10) #17

Cái này là định dạng xuất rồi :smiley:


(Hi I'm Luccy) #19

À okie rồi ạ… chỉ cần làm định dạng như trong C là okie rồi ^^
Cám ơn mọi người^^


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?