Tôi đang sử dụng cú pháp sau C++ để ra một giá trị dấu chấm động trên một nền tảng Windows:C++ printf với% f nhưng cục bộ cho đất nước của người dùng
printf("%.2f", 1.5);
Nó hoạt động tốt nếu tôi chạy nó trên một Tiếng Anh tài khoản người dùng. Giả định của tôi là nếu tôi chạy nó, nói rằng tài khoản người dùng của Pháp, đầu ra sẽ là 1,50 thay vì 1,50.
Tại sao tôi không nhìn thấy và cách tạo kết quả mong muốn?
Cảm ơn, nhưng khi nào tôi phải gọi setlocale - ngay từ đầu khi ứng dụng khởi hoặc trước mỗi printf? – ahmd0
Đủ để gọi nó ngay khi bắt đầu ứng dụng của bạn. – MartinStettner
Cách thay thế C++ là 'std :: cout.imbue (std :: locale (" "));' – MSalters