PDA

View Full Version : نوع داده برای پول



javad.jaddi
سه شنبه 14 شهریور 1396, 07:42 صبح
سلام و خسته نباشید
خواستم بدونم بهترین نوع داده برای پو چیه؟
money
bigint
و اینکه مثلا کاربر درون تکس باکس عدد 1000000 را وارد میکند چطوری به 1.000.000 تبدیل کنیم و نشون بدیم؟
اصلا لازمه به صورته 1.000.000 در بانک ذخیره کنیم یا اینکه در بانک به صورت 1000000 ذخیره کنیم و موقع نمایش به صورت 1.000.000 نمایش بدیم؟
راه اصولی کدومه؟
اصلا از چه دستوری باید استفاده کنیم که سه رقم سه رقم جدا کنه برامون؟
ممنونم میشم راهنمایی کنید

رامین مرادی
سه شنبه 14 شهریور 1396, 08:58 صبح
نوع داده هم اگه محاسباتت به پول ایرانه بهتره همون bigint تعریف کنی
اگه به صورت 1.000.000 ذخیره کنی ممکنه تو محاسبات اشتباه و خطا برات دردسر ساز بشه.
شما به صورت 1000000 ذخیره کن و در هنگام نمایش میتونی با این تبدیل کنی
txt.Text = Decimal.Parse(txt.Text).ToString("N3");
اون عدد 3 هم به خاطره تعداد ارقام اعشار هست. میتونید 0 بزارید.

javad.jaddi
سه شنبه 14 شهریور 1396, 09:19 صبح
درست میفرمایید
موقع نمایش در تکست باکس از این فرمول باید استفاده کنم
وقتی میخوام اطلاعات رو از sql بخونم تا تو گرید نشون بدم اونوقت چی؟
اونوقت از همون مقدار داده bigint که برابر 1000000 هست میاره و نشون میده و 1.000.000 نشون نمیده
مگه اینکه از جدول یه view بسازم و view رو درون گرید نشون بدم
حالا تو view چه دستوری باید بنویسم که یه ستون برام ایجاد کنه و به صورت 1.000.000 نشون بده
مثلا تو view قبلا دوتا ستون رو بهم چسبوندم و تو یه ستون جداگانه نشون دادم که با اینکار جدولم دستکاری نمیشد فقط view یه ستون درست میکرد
حالا برای اینکار چیکار کنم

رامین مرادی
سه شنبه 14 شهریور 1396, 10:17 صبح
با این کد میتونید فرمت سلول خاصی رو به واحد پول تغییر بدید
this.dataGridView1.Columns["cell"].DefaultCellStyle.Format = "c0";

javad.jaddi
سه شنبه 14 شهریور 1396, 10:42 صبح
خیلی هم عالی
فقط کدش بهم ریختس اگه میتونید درستش کنید
بعد درون wpf تو کد xaml اونجا که ستون ها رو مشخص میکنیم و بایند میکنیم هم میشه از فرمت بندی استفاده کرد؟

<GridViewColumn Header="Amount">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock TextAlignment="Right"
Text="{Binding Path=Amount, StringFormat='{}{0:C}'}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
مانند این کد بالا

رامین مرادی
سه شنبه 14 شهریور 1396, 11:53 صبح
من با wpf کار نکردم. ولی هرجا که بایند میکنید میتونید بعدش اون کد رو بنویسید . البته فکر کنم این کدتون درسته چون کار نکردم نظر قطعی نمیتونم بدم.

danialafshari
سه شنبه 14 شهریور 1396, 17:15 عصر
با سلام
اگر ابتدا دیتاها را درون گریدویو Add میکنید میتونید توسط تصویر زیر فرمت ستون را تنظیم کنی:
146250
موفق باشید