السلام عليكم ورحمة الله وبركاته
قبل أسبوع حوالي سألت سؤال حول كيفية تحويل double إلى money string في موضوع اختفى عن نظري للمبتدئين
وكانت الإجابة بوضع رابط http://stackoverflow.com/questions/7276826/c-format-number-with-commas
في الحقيقة لم أفهم كل شيء لذلك كتبت كود بسيييييط على حسب فهمي
واتمنى أرى اقتراحاتكم في تحسينه!!!
#include<iostream>
#include<string>
using std::string;
using std::to_string;
string Idtoms(long double);
int main()
{
long double num=1234567891234567.123466;
std::cout<<Idtoms(num)<<std::endl;
system("pause");
return 0;
}
string Idtoms(long double rr)
{
string str1=to_string(rr);
int n=1;
int size_str1=str1.size()-1;
int j;
string str2("$000,000,000,000,000,000,000,000,000");
int size_str2=str2.size()-1;
while(size_str1-->=0)
{
if((size_str1+1)<str1.find('.'))
if(n++%4==0)
{
str2[size_str2--]=',';
n=2;
}
str2[size_str2--]=str1[size_str1+1];
}
str2.erase(1,str2.find_first_of("123456789.")-1);
return str2;
}قال عمر بن الخطاب:
رحم الله امرئ اهدى إلي عيوبي