مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

Dr-Pantagon

عضویت از 1392/11/01

طریقه رند کردن مبلغ ریال و تومان

  • جمعه 3 دی 1395
  • 19:14
تشکر میکنم

با سلام چطوری میتونم یه مبلغ رو رند کنم مثلا

مبلغ 43650 تومان یا 436500 ریال رو به 43700 تومان یا 437000 تبدیل کنم

من سعی کردم با ceiling یا رند اینکارو رو کنم ولی نتونستم اینکار رو بکنم مخصوصا که فکر کنم اینها روی اعداد اعشاری کار میکنن

لطفا راهنمایی بفرمایید

پاسخ های این پرسش

تعداد پاسخ ها : 6 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 3 دی 1395
  • 20:49
using System;

namespace Kodecsharp.Example.System
{
    public class NumberRounding
    {
        public static void Main(string[] args)
        {
            int number = (int) Math.Round(100.55555);    // number = 101
            Console.Out.WriteLine("Number " + number);

            //
            // Round the number to the number with two fraction digits
            //
            double result = Math.Round(100.55555, 2);
            Console.Out.WriteLine("Number " + result);   // result = 100.56

            //
            // If the number being rounded is half way between two numbers,
            // the Round method will always round tho the nearest even number
            // as in the following example.
            //
            decimal val1 = (decimal) Math.Round(5.5);    // val1 = 6
            decimal val2 = (decimal) Math.Round(6.5);    // val2 = 6

            Console.Out.WriteLine("Val1 = " + val1);
            Console.Out.WriteLine("Val2 = " + val2);

            Console.ReadLine();
        }
    }
}

کاربر سایت

Dr-Pantagon

عضویت از 1392/11/01

  • یکشنبه 5 دی 1395
  • 00:01

نوچ جواب نمیده متاسفانه 

نوشتم که از تابع round و ceiling استفاده کردم فایده نداشت

3رو 5 میکنه 29 رو 30 میکنه ولی 30 رو 50 نمیکنه بدرد واحد پولی ما نمیخوره

تشکر

کاربر سایت

mahdi-net4

عضویت از 1392/12/01

  • پنجشنبه 5 اسفند 1395
  • 09:50
     long T = 1000;
            string _Number = Number.ToString();
            if (_Number.Length < 4)
            {
                if (_Number.Length == 3)
                    T = 100;
                else if (_Number.Length == 2)
                    T = 10;
                else if (_Number.Length == 1)
                    T = 1;
            }
            var money = Math.Round(Convert.ToDecimal(Convert.ToInt64(Number) / T)) * T;
            var _Result = MaskNumber(money);
            return _Result;

کاربر سایت

omid mirzaei

عضویت از 1398/09/26

  • یکشنبه 5 مرداد 1399
  • 11:50

(int) Math.Round(totalPrice / 1000) * 1000
کاربر سایت

alireza.rezaei.mojaz65@gmail.com

عضویت از 1400/12/12

  • چهارشنبه 29 تیر 1401
  • 10:46
parseInt(Math.round(totalPrice / 1000) * 1000) // رند به بالا
کاربر سایت

alireza.rezaei.mojaz65@gmail.com

عضویت از 1400/12/12

  • چهارشنبه 29 تیر 1401
  • 11:08
// EDIT
parseInt(Math.ceil(totalPrice / 1000) * 1000) // رند به بالا
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)