Esempio n. 1
0
 public JMbr(bool v, string name = null)
 {
     this.name = name;
     type      = v ? JType.True : JType.False;
     refv      = null;
     numv      = default;
 }
Esempio n. 2
0
 public JMbr(JNumber v, string name = null)
 {
     this.name = name;
     type      = JType.Number;
     refv      = null;
     numv      = v;
 }
Esempio n. 3
0
 public JMbr(JArr v, string name = null)
 {
     this.name = name;
     type      = JType.Array;
     refv      = v;
     numv      = default;
 }
Esempio n. 4
0
 public JMbr(string v, string name = null)
 {
     this.name = name;
     type      = JType.String;
     refv      = v;
     numv      = default;
 }
Esempio n. 5
0
 public JMbr(JType jnull, string name = null)
 {
     this.name = name;
     type      = jnull;
     refv      = null;
     numv      = default;
 }
Esempio n. 6
0
 public JMbr(JObj v, string name = null)
 {
     this.name = name;
     type      = JType.Object;
     refv      = v;
     numv      = default;
 }
Esempio n. 7
0
 public void Add(JNumber v)
 {
     Add(v.Long);
     if (v.Pt)
     {
         Add('.');
         Add(v.fract);
     }
 }
Esempio n. 8
0
 public void Put(string name, JNumber v)
 {
     Add(' ');
     Add(name);
     Add('=');
     Add('"');
     Add(v);
     Add('"');
 }
Esempio n. 9
0
 public void Put(string name, JNumber v)
 {
     Part(name);
     Add(v.bigint);
     if (v.Pt)
     {
         Add('.');
         Add(v.fract);
     }
 }
Esempio n. 10
0
        public static decimal ParseDecimal(this string str, ref int pos, char sep = '-')
        {
            int len = str.Length;

            if (pos >= len)
            {
                return(0);
            }

            if (str[pos] == sep)
            {
                pos++;                  // skip sep
            }
            JNumber num = new JNumber(str[pos]);
            int     p   = pos;

            for (;;)
            {
                if (p >= len - 1)
                {
                    break;
                }
                int b = str[++p];
                if (b == '.')
                {
                    num.Pt = true;
                }
                else if (b >= '0' && b <= '9')
                {
                    num.Add(b);
                }
                else
                {
                    pos = p - 1;
                    return(num);
                }
            }

            pos = p;
            return(num.Decimal);
        }
Esempio n. 11
0
        public void Put(string name, JNumber v)
        {
            if (counts[level]++ > 0)
            {
                Add(',');
            }
            if (name != null)
            {
                Add('"');
                Add(name);
                Add('"');
                Add(':');
            }

            Add(v.bigint);
            if (v.Pt)
            {
                Add('.');
                Add(v.fract);
            }
        }
Esempio n. 12
0
 public void Add(JNumber elem)
 {
     Add(new JMbr(elem));
 }
Esempio n. 13
0
 public void Add(string name, JNumber v)
 {
     Add <JMbr>(new JMbr(v, name));
 }
Esempio n. 14
0
 public void Put(string name, JNumber v)
 {
 }