c# example format digit

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
jataz2
PHP Super Member
PHP Super Member
Posts: 251
Joined: 22/02/2011 11:48 am

c# example format digit

Post by jataz2 »

//เช่น Ex 90.00 => 00000000000009000
//เช่น Ex 90.5 => 00000000000009050
//เช่น Ex 90 => 00000000000009000

string ret = FomatDigit("90.5", 17, 2)

ผลลัพท์ของ ret -> 00000000000009050

Code: Select all

	public string FomatDigit(string input, int scale, int precision)
        {
            StringBuilder sb = new StringBuilder();
            decimal val = Convert.ToDecimal(input);
            if (precision > 0)
            {
                
                //เช่น  Ex 90.00   =>  00000000000009000 
                if (val.ToString().IndexOf('.') > -1)
                {
                    //ถ้าจุดทศนิยมไม่ครบ 2 ตำแหน่งเช่น 5400.6 ก็ padright 0 เพิ่มเข้าไปให้ครบเป็น 5400.60
                    string[] decimalPoint = input.Split('.').ToArray();
                    decimalPoint[1] = decimalPoint[1].PadRight(precision, '0');

                    //แสดงว่ามีจุดทศนิยม ก็ remove . ออกไป
                    sb.Append((System.Text.RegularExpressions.Regex.Replace(decimalPoint[0] + "." + decimalPoint[1], @"\.", "")).PadLeft(scale, '0'));
                }
                else
                {
                    sb.Append(val.ToString().PadLeft(scale - precision, '0') + "00");
                }
            }
            else
            {
                sb.Append(val.ToString().PadLeft(scale, '0'));
            }

            return sb.ToString();
        }

Return to “Programming - C/C++ & java & Python”

Who is online

Users browsing this forum: No registered users and 5 guests