Exemplo n.º 1
0
 public Money(Currency currency, decimal amount, RoundingMode roundingMode, DecimalPlaces decimalPlaces)
 {
     Currency      = currency;
     Amount        = amount;
     RoundingMode  = roundingMode;
     DecimalPlaces = (int)decimalPlaces;
 }
        protected override void ExecuteCrmWorkFlowActivity(CodeActivityContext context, LocalWorkflowContext localContext)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            if (localContext == null)
            {
                throw new ArgumentNullException(nameof(localContext));
            }

            decimal numberToTruncate = NumberToTruncate.Get(context);
            int     decimalPlaces    = DecimalPlaces.Get(context);

            if (decimalPlaces < 0)
            {
                decimalPlaces = 0;
            }

            decimal step = (decimal)Math.Pow(10, decimalPlaces);
            int     temp = (int)Math.Truncate(step * numberToTruncate);

            decimal truncatedNumber = temp / step;

            TruncatedNumber.Set(context, truncatedNumber);
        }
Exemplo n.º 3
0
        /// <include file='doc\NumericUpDown.uex' path='docs/doc[@for="NumericUpDown.UpdateEditText"]/*' />
        /// <devdoc>
        ///    <para>
        ///       Displays the current value of the up-down control in the appropriate format.
        ///    </para>
        /// </devdoc>
        protected override void UpdateEditText()
        {
            // If we're initializing, we don't want to update the edit text yet,
            // just in case the value is invalid.
            if (initializing)
            {
                return;
            }

            // If the current value is user-edited, then parse this value before reformatting
            if (UserEdit)
            {
                ParseEditText();
            }

            ChangingText = true;

            // Make sure the current value is within the min/max
            Debug.Assert(minimum <= currentValue && currentValue <= maximum,
                         "DecimalValue lies outside of [minimum, maximum]");

            if (Hexadecimal)
            {
                Text = ((Int64)currentValue).ToString("X");
            }
            else
            {
                Text = currentValue.ToString((ThousandsSeparator ? "N" : "F") + DecimalPlaces.ToString());
            }

            Debug.Assert(ChangingText == false, "ChangingText should have been set to false");
        }
Exemplo n.º 4
0
        public virtual void ToXml(XmlWriter writer)
        {
            var numberFormatEnumConverter = TypeDescriptor.GetConverter(typeof(NumberFormatEnum));

            writer.WriteAttributeString("visible", Visible.ToString());
            writer.WriteAttributeString("decimalplaces", DecimalPlaces.ToString());
            writer.WriteAttributeString("numberformat", numberFormatEnumConverter.ConvertToString(NumberFormat));
        }
        public void Round_DecimalPlaces_using_Money_RoundingMode(RoundingMode roundingMode, DecimalPlaces decimalPlaces, decimal value, decimal expected)
        {
            // specify different DecimalPlaces for Money ctor to ensure the argument value is used
            Money money = new Money("ZAR", value, roundingMode, DecimalPlaces.Nine);

            Money actual = money.Round(decimalPlaces);
            Assert.That(actual.Amount == expected);
        }
        public void Round_RoundingMode_using_Money_DecimalPlaces(RoundingMode roundingMode, DecimalPlaces decimalPlaces, decimal value, decimal expected)
        {
            // specify different RoundingMode for Money ctor to ensure the argument value is used
            RoundingMode moneyMode = roundingMode == 0 ? roundingMode + 1 : roundingMode - 1;
            Money money = new Money("ZAR", value, moneyMode, decimalPlaces);

            Money actual = money.Round(roundingMode);
            Assert.That(actual.Amount == expected);
        }
Exemplo n.º 7
0
 private string GetNumberText(decimal num) {
     string text;
     
     if (Hexadecimal) {
         text = ((Int64)num).ToString("X", CultureInfo.InvariantCulture);
         Debug.Assert(text == text.ToUpper(CultureInfo.InvariantCulture), "GetPreferredSize assumes hex digits to be uppercase.");
     }
     else {
         text = num.ToString((ThousandsSeparator ? "N" : "F") + DecimalPlaces.ToString(CultureInfo.CurrentCulture), CultureInfo.CurrentCulture);
     }
     return text;
 }
Exemplo n.º 8
0
        public void Round_DecimalPlaces_RoundingMode(RoundingMode roundingMode, DecimalPlaces decimalPlaces, decimal value, decimal expected)
        {
            // specify different RoundingMode for Money ctor to ensure the argument value is used
            RoundingMode moneyMode = roundingMode == 0 ? roundingMode + 1 : roundingMode - 1;

            // specify different DecimalPlaces for Money ctor to ensure the argument value is used
            Money money = new Money("ZAR", value, moneyMode, DecimalPlaces.Nine);

            Money actual = money.Round(roundingMode, decimalPlaces);

            Assert.That(actual.Amount == expected);
        }
Exemplo n.º 9
0
        /// <summary>
        ///	Add a JavaScript to the Page and call it from the onKeyPress event
        /// </summary>
        /// <param name="e"></param>
        override protected void OnPreRender(EventArgs e)
        {
            if (this.Page.Request.Browser.JavaScript == true)
            {
                // Build JavaScript
                StringBuilder s = new StringBuilder();
                s.Append("\n<script type='text/javascript' language='JavaScript'>\n");
                s.Append("<!--\n");
                s.Append("    function NumberBoxKeyPress(event, dp, dc, n) {\n");
                s.Append("	     var myString = new String(event.srcElement.value);\n");
                s.Append("	     var pntPos = myString.indexOf(String.fromCharCode(dc));\n");
                s.Append("	     var keyChar = window.event.keyCode;\n");
                s.Append("       if ((keyChar < 48) || (keyChar > 57)) {\n");
                s.Append("          if (keyChar == dc) {\n");
                s.Append("              if ((pntPos != -1) || (dp < 1)) {\n");
                s.Append("                  return false;\n");
                s.Append("              }\n");
                s.Append("          } else \n");
                s.Append("if (((keyChar == 45) && (!n || myString.length != 0)) || (keyChar != 45)) \n");
                s.Append("		     return false;\n");
                s.Append("       }\n");
                s.Append("       return true;\n");
                s.Append("    }\n");
                s.Append("// -->\n");
                s.Append("</script>\n");

                // Add the Script to the Page
                this.Page.RegisterClientScriptBlock("NumberBoxKeyPress", s.ToString());

                // Add KeyPress Event
                try
                {
                    this.Attributes.Remove("onKeyPress");
                }
                finally
                {
                    this.Attributes.Add("onKeyPress", "return NumberBoxKeyPress(event, "
                                        + DecimalPlaces.ToString() + ", "
                                        + ((int)DecimalSymbol).ToString() + ", "
                                        + AllowNegatives.ToString().ToLower() + ")");
                }
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// Converts the numeric value of this instance to its equivalent string representation .
        /// </summary>
        /// <param name="value">The value to be converted.</param>
        /// <param name="resolution">The number of decimal places.</param>
        /// <returns>
        /// The string representation of the numeric value
        /// </returns>
        public static string ToString(this double value, DecimalPlaces resolution)
        {
            if (double.IsNaN(value))
            {
                return(NaN_Representation);
            }

            if (double.IsInfinity(value))
            {
                return(Infinity_Representation);
            }

            if (resolution == DecimalPlaces.All)
            {
                return(value.ToString(CultureInfo.CurrentCulture));
            }

            NumberFormat.NumberDecimalDigits = (int)resolution;
            return(value.ToString("N", NumberFormat));
        }
 /// <summary>
 /// Serves as a hash function for a particular type.
 /// </summary>
 /// <returns>A hash code for the current object.</returns>
 public override int GetHashCode()
 {
     unchecked
     {
         int result = 17;
         result = result * 23 + base.GetHashCode();
         result = result * 23 + ((Name != null) ? Name.GetHashCode() : 0);
         result = result * 23 + Type.GetHashCode();
         result = result * 23 + Editable.GetHashCode();
         result = result * 23 + Mandatory.GetHashCode();
         result = result * 23 + Hidden.GetHashCode();
         result = result * 23 + Hideable.GetHashCode();
         result = result * 23 + Width.GetHashCode();
         result = result * 23 + ((Text != null) ? Text.GetHashCode() : 0);
         result = result * 23 + Xtype.GetHashCode();
         result = result * 23 + Align.GetHashCode();
         result = result * 23 + ((Tooltip != null) ? Tooltip.GetHashCode() : 0);
         result = result * 23 + Sortable.GetHashCode();
         result = result * 23 + SortDirection.GetHashCode();
         result = result * 23 + ((Format != null) ? Format.GetHashCode() : 0);
         result = result * 23 + DecimalPlaces.GetHashCode();
         result = result * 23 + ((DataUrl != null) ? DataUrl.GetHashCode() : 0);
         result = result * 23 + ((DefaultValue != null) ? DefaultValue.GetHashCode() : 0);
         result = result * 23 + ((Description != null) ? Description.GetHashCode() : 0);
         result = result * 23 + Rank.GetHashCode();
         result = result * 23 + ReadOnly.GetHashCode();
         result = result * 23 + MaxLength.GetHashCode();
         result = result * 23 + ((Validator != null) ? Validator.GetHashCode() : 0);
         result = result * 23 + ((SearchFieldDefinition != null) ? SearchFieldDefinition.GetHashCode() : 0);
         result = result * 23 + SingleComboFilter.GetHashCode();
         result = result * 23 + AllowComboCustomValue.GetHashCode();
         result = result * 23 + SearchComboFromLeft.GetHashCode();
         result = result * 23 + LoadWhenVisible.GetHashCode();
         result = result * 23 + Nullable.GetHashCode();
         result = result * 23 + ((Tpl != null) ? Tpl.GetHashCode() : 0);
         result = result * 23 + MinCharSearch.GetHashCode();
         result = result * 23 + ((AdditionalWhereSqlTemp != null) ? AdditionalWhereSqlTemp.GetHashCode() : 0);
         return(result);
     }
 }
        protected override void ExecuteCrmWorkFlowActivity(CodeActivityContext context, LocalWorkflowContext localContext)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            if (localContext == null)
            {
                throw new ArgumentNullException(nameof(localContext));
            }

            decimal numberToRound = NumberToRound.Get(context);
            int     decimalPlaces = DecimalPlaces.Get(context);

            if (decimalPlaces < 0)
            {
                decimalPlaces = 0;
            }

            decimal roundedNumber = Math.Round(numberToRound, decimalPlaces);

            RoundedNumber.Set(context, roundedNumber);
        }
Exemplo n.º 13
0
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("纸币器级别:{0}\r\n", level.ToString());
            sb.AppendFormat("货币代码:{0}\r\n", CC.ToString());
            sb.AppendFormat("纸币基数值:{0}\r\n", BillScalingFacto.ToString());
            sb.AppendFormat("小数点位数:{0}\r\n", DecimalPlaces.ToString());
            sb.AppendFormat("钞箱容量:{0}\r\n", 钞箱容量.ToString());
            sb.AppendFormat("安全等级:{0}\r\n", 安全等级.ToString());
            sb.AppendFormat("暂存功能:{0}\r\n", (暂存功能 ? "有" : "无"));
            sb.AppendFormat("纸币1基数:{0}\r\n", 纸币1.ToString());
            sb.AppendFormat("纸币2基数:{0}\r\n", 纸币2.ToString());
            sb.AppendFormat("纸币3基数:{0}\r\n", 纸币3.ToString());
            sb.AppendFormat("纸币4基数:{0}\r\n", 纸币4.ToString());
            sb.AppendFormat("纸币5基数:{0}\r\n", 纸币5.ToString());
            sb.AppendFormat("纸币6基数:{0}\r\n", 纸币6.ToString());
            sb.AppendFormat("纸币7基数:{0}\r\n", 纸币7.ToString());
            sb.AppendFormat("纸币8基数:{0}\r\n", 纸币8.ToString());
            sb.AppendFormat("Identification:{0}\r\n", Z.ToString());

            return(sb.ToString());
        }
Exemplo n.º 14
0
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("硬币器级别:{0}\r\n", level.ToString());
            sb.AppendFormat("硬币代码:{0}\r\n", CC.ToString());
            sb.AppendFormat("硬币基数值:{0}\r\n", CoinScalingFacto.ToString());
            sb.AppendFormat("小数点位数:{0}\r\n", DecimalPlaces.ToString());
            sb.AppendFormat("硬币1基数:{0}\r\n", 硬币1.ToString());
            sb.AppendFormat("硬币2基数:{0}\r\n", 硬币2.ToString());
            sb.AppendFormat("硬币3基数:{0}\r\n", 硬币3.ToString());
            sb.AppendFormat("硬币4基数:{0}\r\n", 硬币4.ToString());
            sb.AppendFormat("硬币5基数:{0}\r\n", 硬币5.ToString());
            sb.AppendFormat("硬币6基数:{0}\r\n", 硬币6.ToString());
            sb.AppendFormat("找零1:{0}\r\n", 找零1.ToString());
            sb.AppendFormat("找零2:{0}\r\n", 找零2.ToString());
            sb.AppendFormat("找零3:{0}\r\n", 找零3.ToString());
            sb.AppendFormat("找零4:{0}\r\n", 找零4.ToString());
            sb.AppendFormat("找零5:{0}\r\n", 找零5.ToString());
            sb.AppendFormat("找零6:{0}\r\n", 找零6.ToString());
            sb.AppendFormat("Identification:{0}\r\n", Z.ToString());

            return(sb.ToString());
        }
Exemplo n.º 15
0
        public static Money Round(this Money money, RoundingMode roundingMode, DecimalPlaces decimalPlaces)
        {
            RoundingStrategy strategy = RoundingStrategyFactory.GetRoundingStrategy(roundingMode);

            return(strategy.Round(money, (int)decimalPlaces));
        }
Exemplo n.º 16
0
 public void DecimalPlacesSimpleTest_01()
 {
     Assert.AreEqual(10.12, DecimalPlaces.TwoDecimalPlaces(10.1289767789));
 }
 public void Round_no_arguments_using_Money_defaults(RoundingMode roundingMode, DecimalPlaces decimalPlaces, decimal value, decimal expected)
 {
     Money money = new Money("ZAR", value, roundingMode, decimalPlaces);
     Money actual = money.Round();
     Assert.That(actual.Amount == expected);
 }
Exemplo n.º 18
0
 public void DecimalPlacesSimpleTest_Negative_02()
 {
     Assert.AreEqual(-7488.83, DecimalPlaces.TwoDecimalPlaces(-7488.83485834983));
 }
Exemplo n.º 19
0
 public void DecimalPlaces_Test_Random_03([Random(-2837823.73748453445, 2837823.73748453445, 98)] double number)
 {
     Assert.AreEqual(this.TwoDecimalPlaces(number), DecimalPlaces.TwoDecimalPlaces(number));
 }
Exemplo n.º 20
0
 public Money(Currency currency, decimal amount, DecimalPlaces decimalPlaces)
     : this(currency, amount, defaultRoundingMode, decimalPlaces)
 {
 }
Exemplo n.º 21
0
 public Money(string currencyCode, decimal amount, RoundingMode roundingMode, DecimalPlaces decimalPlaces)
     : this(Currency.FromIso3LetterCode(currencyCode), amount, roundingMode, decimalPlaces)
 {
 }
Exemplo n.º 22
0
        public void Round_no_arguments_using_Money_defaults(RoundingMode roundingMode, DecimalPlaces decimalPlaces, decimal value, decimal expected)
        {
            Money money  = new Money("ZAR", value, roundingMode, decimalPlaces);
            Money actual = money.Round();

            Assert.That(actual.Amount == expected);
        }
Exemplo n.º 23
0
 public static Money Round(this Money money, DecimalPlaces decimalPlaces)
 {
     return(money.Round(money.RoundingMode, decimalPlaces));
 }
Exemplo n.º 24
0
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            this.CssClass = "form-control " + this.CssClass;

            StringBuilder sb = new StringBuilder();

            Attributes.Add("autocomplete", AutoComplete ? "on" : "off");

            if (this.HasEvent("EventTextChanged"))
            {
                this.AutoPostBack = true;
            }

            if (Mask != MaskTextBox.NaoDefinido)
            {
                if (Mask == MaskTextBox.Decimal || Mask == MaskTextBox.Integer)
                {
                    Attributes.Add("data-control-allownegative", AllowNegativeValues.ToString());

                    if (Mask == MaskTextBox.Decimal && DecimalPlaces > 0)
                    {
                        Attributes.Add("data-control-decimalplaces", DecimalPlaces.ToString());
                    }
                }

                this.Attributes.Add("data-control", Mask.ToString());
            }

            if (montagroup)
            {
                writer.Write(ComponentUtils.RenderControlOpen(this.campoobrigatorio ? "*" + this.label : this.label, this.ID, TypeControl, TextBoxIcon != FontAwesomeIcons.NotSet, ObrigatorioVazio, ToolTip));
            }

            base.Attributes.Add("data-control-required", campoobrigatorio.ToString());

            if (TextBoxIcon != FontAwesomeIcons.NotSet)
            {
                writer.Write("<span class=\"input-group-addon\"><i class=\"{0} {1}\"></i></span>", TextBoxIconType.GetStringValueClass(), TextBoxIcon.GetStringValueClass());
                base.Render(writer);
            }
            else
            {
                if (GroupButtons.Count > 0)
                {
                    writer.Write("<div class='input-group'>");

                    if (GroupButtons.Count(p => p.ButtonPosition == InputGroupButton.InputGroupButtonPosition.Left) > 0)
                    {
                        writer.Write("<div class='input-group-btn'>");

                        foreach (var btn in GroupButtons.Where(p => p.ButtonPosition == InputGroupButton.InputGroupButtonPosition.Left))
                        {
                            btn.RenderControl(writer);
                        }

                        writer.Write("</div>");
                    }
                }


                base.Render(writer);

                if (GroupButtons.Count > 0)
                {
                    if (GroupButtons.Count(p => p.ButtonPosition == InputGroupButton.InputGroupButtonPosition.Right) > 0)
                    {
                        writer.Write("<div class='input-group-btn'>");

                        foreach (var btn in GroupButtons.Where(p => p.ButtonPosition == InputGroupButton.InputGroupButtonPosition.Right))
                        {
                            btn.RenderControl(writer);
                        }

                        writer.Write("</div>");
                    }

                    writer.Write("</div>");
                }
            }

            if (montagroup)
            {
                writer.Write(ComponentUtils.RenderControlClose(help, TypeControl, TextBoxIcon != FontAwesomeIcons.NotSet));
            }
        }
 public static Money Round(this Money money, DecimalPlaces decimalPlaces)
 {
     return money.Round(money.RoundingMode, decimalPlaces);
 }
        public static Money Round(this Money money, RoundingMode roundingMode, DecimalPlaces decimalPlaces)
        {
            RoundingStrategy strategy = RoundingStrategyFactory.GetRoundingStrategy(roundingMode);

            return strategy.Round(money, (int) decimalPlaces);
        }