C++
Biến int Tien = 1000000;
làm thế nào để in nó ra 1,000,000 mọi người nhỉ.
có dấu phẩy ngăn cách sau ba số 0.
ai biết chỉ mình với ạ
In ra số tiền có dấu phẩy "," ngăn cách
Cho bạn con số một tỉ và một tờ giấy. (bút nữa. )
Vậy mình hỏi bạn vết 1,000,000,000 như thế nào.
ý mình hỏi là nó có dấu phẩy “,” ngăn cách ấy
Tách 3 số 1, cho vào mảng rồi vòng lặp. Chắc vậy.
https://en.cppreference.com/w/cpp/locale/numpunct
nghiên cứu nha
https://en.cppreference.com/w/cpp/locale/numpunct/thousands_sep
có cho ví dụ rồi đó, chỉnh sửa 2 ký tự là ra
cái này có liên quan tới locale, numpunct là để chữa cháy thôi còn làm đúng thì tạo locale tương ứng (en_US hay vi_VN) rồi gắn vào cout.:V
Không hiểu sao bạn lại hiểu nhầm thành mình đang trêu ngươi bạn, nhưng mình đang gợi ý cho bạn cách làm đó. Đọc song đề bài thì mình cũng phải tưởng tượng như vậy.
Còn bạn cứ khăng khăng hỏi cách làm thì bạn có thể tham khảo code dưới.
#include <iostream>
void printWithComma(int a) {
char s[100];
int i = 0;
while (a > 0) {
s[i++] = a % 10 + 48;
a /= 10;
if (!((i + 1) % 4))
s[i++] = ',';
}
if (!(i % 4))
i--;
for (int j = i - 1; j >= 0; j--)
std::cout << s[j];
std::cout << '\n';
}
int main() {
printWithComma(1000000000);
return 0;
}
Bạn có thể vô đây để test.
P/s: Đây là vài dòng code mình code sau khi đọc đề bài. (nháp nữa )
Sherly1001, tntxtnt, Flambo Me-mow
Cám ơn các bạn nhiều.
OK, mình đã tìm thấy nó ở đây, nó đúng với mục đích của mình hơn.
http://www.cplusplus.com/articles/986AC542/
Kết quả:
xài cái code trên phải nhớ delete[]
chuỗi trả về nữa :V
sao lại phải xóa, và xóa kiểu gì, đây là hàm dùng cho nhiều nơi mà bạn?
ko xóa thì chương trình xài hàm này 1 triệu lần RAM sẽ tăng lên khoảng 10MB chỉ khi tắt chương trình mới giảm được :V
đã là C++ sao ko xài std::string
mà đi xài char*
:V