با سلام
در برنامه ای در VC++.NET که نام کاربر (یک رشته) و سن او (یک عدد) را می گیرد و نمایش می دهد، با استفاده از یونیکد و انتخاب زبان Persian براحتی می توان از فونت فارسی استفاده کرد و نام شخص را نمایش داد، ولی سن او (اعداد) همواره به انگلیسی نمایش داده شده و فارسی نمی شوند. کسی می تونه در این مورد به من کمک کنه لطفاً که چگونه اعداد را هم بتوانم فارسی نمایش دهم؟
2 پاسخ
0
سلام
میتونید یه تابع برای تبدیل اعداد از انگلیسی به فارسی بنویسید و موقع نمایش ازش استفاده کنید.
مثلا تبدیل 1234 به ۱۲۳۴ ...
0
کد مثال:
#include <iostream>
#include <string>
std::string ConvertEnglishToPersian(const std::string& input)
{
// Define a mapping of English digits to Persian digits
std::string englishDigits = "0123456789";
std::string persianDigits = "۰۱۲۳۴۵۶۷۸۹";
std::string output = input;
// Replace each English digit with its Persian counterpart
for (size_t i = 0; i < englishDigits.length(); ++i)
{
size_t found = output.find(englishDigits[i]);
while (found != std::string::npos)
{
output.replace(found, 1, 1, persianDigits[i]);
found = output.find(englishDigits[i], found + 1);
}
}
return output;
}
سوال برنامه نویسی دارید؟
ندونستن عیب نیست، نپرسیدن چرا!