Type Double Accepting String Values的DataColumn

时间:2015-12-23 16:30:14

标签: winforms datatable decimal datacolumn

令我感到惊讶的是,我强行显示Decimal值的问题的解决方案是DataGridViewDataTable上的数据绑定到DataRow newRow = this.MenuDataTable.NewRow(); newRow["Price"] = menuItem.Price.ToString("0.00"); 的数据是:

Price

虽然Decimal列本身设置为string类型(并且解决方案中的插入对象是DataRow)。就在那时,我注意到对象Object接受任何DataTable类型,原因显而易见,我最初没有想过。

我现在的困境是&#34;这样做真的很安全吗?&#34;。我实际上在将数据插入 if (!decimal.TryParse(this.Price, out outDecimal)) { throw new InvalidUserValuesException("Price must be a number"); } if (outDecimal < 0) { throw new InvalidUserValuesException("Price must be a positive number"); } if (Decimal.Round(outDecimal, 2) != outDecimal) { throw new InvalidUserValuesException("Price must only have two decimal places"); } if (this.Price.Length > 10) { throw new InvalidUserValuesException("Price must not exceed 10 characters"); } 之前先验证了数据,如下所示:

validates_uniqueness_of :student_id, scope: [:lightbulb_id]

相信答案简单明了,我只想减轻自己对将来申请爆炸的恐惧。

0 个答案:

没有答案