public static string Convert(decimal number)
        {
            Locale       locale    = new Locale("en", "AU");
            NumberFormat formatter = NumberFormat.GetCurrencyInstance(locale);

            return(formatter.Format(double.Parse(number.ToString())));
        }
Esempio n. 2
0
        void onCalculateBtnClick(object sender, EventArgs e)
        {
            if (billAmount.Text.Length > 0)
            {
                double bill    = 0;
                bool   isValid = double.TryParse(billAmount.Text.ToString(), out bill);
                //if (!isValid)
                //    return;
                //double bill = double.Parse(billAmount.Text);
                NumberFormat nf     = NumberFormat.GetCurrencyInstance(Android.Icu.Util.ULocale.Default);
                var          parsed = nf.Parse(billAmount.Text.ToString());
                var          myVal  = parsed.DoubleValue();

                if (bill > 0.0)
                {
                    double tip   = bill * 15 / 100;
                    double total = bill + tip;

                    tipVal.Text   = tip.ToString("N");
                    totalVal.Text = total.ToString("N");
                }
                else
                {
                    tipVal.Text   = "0.00";
                    totalVal.Text = "0.00";
                }
            }
            else
            {
                tipVal.Text   = "0.00";
                totalVal.Text = "0.00";
            }
        }
        public static string transformtocurrency(string value)
        {
            double parsed    = double.Parse(value);
            string formatted = NumberFormat.GetCurrencyInstance(new Locale("pt", "br")).Format((parsed / 100));

            formatted = Regex.Replace(formatted, "[^(0-9)(.,)]", "");
            return(formatted);
        }
        private BigDecimal parseToBigDecimal(string value, Locale locale)
        {
            string replaceable = string.Format("[%s,.\\s]", NumberFormat.GetCurrencyInstance(locale).Currency.Symbol);

            string cleanString = value.Replace(replaceable, "");

            return(new BigDecimal(cleanString).SetScale(
                       2, (RoundOptions)Java.Math.RoundOptions.Floor).Divide(new BigDecimal(100), (RoundOptions)Java.Math.RoundOptions.Floor
                                                                             ));
        }
Esempio n. 5
0
        private static NumberFormat CreateFormat(Entry type)
        {
            var locale = type.FormatProvider.ToLocale();

            if (type.FormatType == FormatHex)
            {
                return(new HexFormat(type.Digits, type.IsUpperCase));
            }

            if (type.FormatType == FormatScientific)
            {
                var pattern = type.Pattern;
                if (pattern == null)
                {
                    pattern = GetPatternByDigits(type.Digits) + (type.IsUpperCase ? "E0" : "e0");
                }
                return(new ScientificFormat(pattern, locale));
            }

            if (type.FormatType == FormatDecimal)
            {
                DecimalFormatSymbols symbols = new DecimalFormatSymbols(locale)
                {
                    Infinity = "Infinity"
                };
                string pattern = type.Pattern ?? GetPatternByDigits(type.Digits);
                return(new DecimalFormat(pattern, symbols));
            }

            if (type.FormatType == FormatCurrency)
            {
                return(NumberFormat.GetCurrencyInstance(locale));
            }

            // default
            var format = NumberFormat.GetNumberInstance(locale);

            if (type.Pattern != null)
            {
                var decf = format as DecimalFormat;
                if (decf != null)
                {
                    decf.ApplyLocalizedPattern(type.Pattern);
                }
            }

            return(format);
        }
Esempio n. 6
0
        internal NumberFormatInfo(Locale locale)
        {
            _locale = locale;

            _numbers = NumberFormat.GetNumberInstance(locale);

            _symbols = new DecimalFormatSymbols(locale)
            {
                Infinity = "Infinity"
            };

            _decimals = _numbers as DecimalFormat ?? new DecimalFormat();
            _decimals.DecimalFormatSymbols = _symbols;

            _currency = NumberFormat.GetCurrencyInstance(locale) as DecimalFormat ?? _decimals;
            _percent  = NumberFormat.GetPercentInstance(locale) as DecimalFormat ?? _decimals;
        }
Esempio n. 7
0
        private static NumberFormat GetFormat(string format)
        {
            if (format == null)
            {
                return(NumberFormat.GetInstance());
            }
            if (format.Length >= 1)
            {
                switch (char.ToUpper(format[0]))
                {
                case 'C':
                {
                    string       javaFormat;
                    NumberFormat nf = NumberFormat.GetCurrencyInstance();
                    if (format.Length == 1)
                    {
                        javaFormat = "0.00";
                    }
                    else
                    {
                        int decimalCount;
                        if (int.TryParse(format.JavaSubstring(1), out decimalCount))
                        {
                            javaFormat = "0." + new string('0', decimalCount);
                            if (0 == decimalCount)
                            {
                                javaFormat = "0";
                            }
                        }
                        else
                        {
                            javaFormat = format;
                        }
                    }

                    if (nf.IsGroupingUsed())
                    {
                        javaFormat = "#,##" + javaFormat;
                    }

                    javaFormat = nf.Currency.GetSymbol() + javaFormat;

                    return(new DecimalFormat(javaFormat));
                }

                case 'D':
                {
                    if (format.Length == 1)
                    {
                        return(new DecimalFormat("0"));
                    }
                    int decimalCount;
                    if (int.TryParse(format.JavaSubstring(1), out decimalCount))
                    {
                        string javaFormat = new string('0', decimalCount);
                        if (0 == decimalCount)
                        {
                            javaFormat = "0";
                        }
                        return(new DecimalFormat(javaFormat));
                    }
                }
                break;

                case 'E':
                {
                    if (format.Length == 1)
                    {
                        return(new ScientificFormat("0.000000E000"));
                    }
                    int decimalCount;
                    if (int.TryParse(format.JavaSubstring(1), out decimalCount))
                    {
                        string javaFormat = "0." + new string('0', decimalCount);
                        if (0 == decimalCount)
                        {
                            javaFormat = "0";
                        }
                        return(new ScientificFormat(javaFormat + "E000"));
                    }
                }
                break;

                case 'F':
                case 'P':
                {
                    string javaFormat;
                    if (format.Length == 1)
                    {
                        javaFormat = "0.00";
                    }
                    else
                    {
                        int decimalCount;
                        if (int.TryParse(format.JavaSubstring(1), out decimalCount))
                        {
                            javaFormat = "0." + new string('0', decimalCount);
                            if (0 == decimalCount)
                            {
                                javaFormat = "0";
                            }
                        }
                        else
                        {
                            javaFormat = format;
                        }
                    }

                    if ('P' == char.ToUpper(format[0]))
                    {
                        return(new DecimalFormat(javaFormat + " %"));
                    }

                    return(new DecimalFormat(javaFormat));
                }

                case 'G':
                case 'R':
                    return(new DecimalFormat("0.################################"));

                case 'N':
                {
                    if (format.Length == 1)
                    {
                        return(new DecimalFormat("#,##0.00"));
                    }
                    int decimalCount;
                    if (int.TryParse(format.JavaSubstring(1), out decimalCount))
                    {
                        string javaFormat = "#,##0." + new string('0', decimalCount);
                        if (0 == decimalCount)
                        {
                            javaFormat = "#,##0";
                        }
                        return(new DecimalFormat(javaFormat));
                    }
                }
                break;

                case 'X':
                    if (format.Length == 1)
                    {
                        return(new HexFormat(8, char.IsUpper(format[0])));
                    }
                    int numDigits;
                    if (int.TryParse(format.JavaSubstring(1), out numDigits))
                    {
                        return(new HexFormat(numDigits, char.IsUpper(format[0])));
                    }
                    break;
                }
            }
            return(new DecimalFormat(format));
        }