Tại sao nó rằng khi tôi làm như sau ...Cần giúp đỡ làm tròn đến 2 chữ số thập phân
Math.Round(0.75, 1, MidpointRounding.AwayFromZero)
tôi nhận được 0,8
nhưng khi tôi làm như sau ...
Math.Round(0.575, 2, MidpointRounding.AwayFromZero)
Tôi không nhận được 0,58. Thay vào đó tôi nhận được 0,57. Tôi muốn bất cứ điều gì đó là 5 và lên làm tròn lên, vì vậy 0,575 nên được 0,58.
[Câu trả lời đầu tiên trong câu hỏi này] (http://stackoverflow.com/q/5641616/62576) sẽ giúp trả lời câu hỏi này. –
@KenWhite: Tôi không chắc chắn nó sẽ. Vấn đề là do toán học thực làm tròn '.575' đến hai chữ số thập phân từ 0 sẽ cho' .58' nhưng đây không phải là kết quả quan sát được. Nó liên quan đến việc biểu diễn các bài thơ nổi trong trường hợp này. – Chris
@ Chris: Bạn nói đúng. :-) Tôi chủ yếu sử dụng Delphi, và nó Round() xử lý những thứ như thế này chỉ tốt cho hầu hết các phần. Tôi chỉ cần kiểm tra trong C#, mặc dù, và có thể nhìn thấy vấn đề. –