PDA

View Full Version : جمع ارقام یک عدد



yekta99
چهارشنبه 04 مرداد 1391, 12:19 عصر
سلام

من می خوام جمع ارقام یک عدد مثلا سال جاری رو بدست بیارم ، کد زیر رو نوشتم ، اعداد رو تک تک جدا می کنه ولی جمع رو درست بر نمی گردونه .
ممنون میشم اگه راهنمایی کنید .

DateTime date= DateTime.Now;
string yer = date.Year.ToString();
int sum = 0;
foreach (var item in yer)
{
sum +=(int) item;
Console.WriteLine(sum);
}

fjm11100
چهارشنبه 04 مرداد 1391, 12:46 عصر
دلیلش اینه که تو داری کد اسکی اونا را جمع می کنی نه عدد واقعی را
کد قسمت جمع کردن را اینجوری تغییر بده اون 0-0x30 عدد 30 هگزادسیمال را از کد اسکی کم میکنه تا عدد واقعی را بگیری(کد اسکی عدد صفر 30 هگز و 9 عدد 39 هگز است) و ضمنا Console.WriteLine را از حلقه بیار بیرون

sum += (int)item-0x30;

Arash_janusV3
چهارشنبه 04 مرداد 1391, 12:52 عصر
DateTime date = DateTime.Now;
int yer = date.Year;
int sum = 0;
for (int i = 0; i <= yer.ToString().Length - 1;i++ )
{
string s = yer.ToString()[i].ToString();
sum += Convert.ToInt32(s) ;
}
Console.WriteLine(sum);