【发布时间】:2015-04-02 14:30:45
【问题描述】:
作为我工作的一部分,我需要从 Excel 表中读取价格值。我需要实现
- 价格:价格中不允许包含非数字字符
- price 应该是 int、decimal、double 等价格的有效数字,例如 10,10.00,10,233 有效,-10,-10.00,-10,2333.00 等无效
- 价格:价格格式(点、逗号、小数)
- 不允许零和负价格值
- 需要检查价格值类型(数字类型,如 int、float、decimal 等,但会以货币格式保存在数据库中)
我们应该为 Price 选择什么数据类型?十进制或双精度或其他?在数据库中,我将数据库字段类型视为金钱。
【问题讨论】:
-
Price format (dots, comma's, decimals)这是什么意思?一些文化使用逗号分隔千位,其他文化使用逗号作为小数分隔符。 你是什么意思? -
decimal设计 用于货币值 - 不要使用 IEEE-754 浮点值,因为它们不代表 精确 i> 值:en.wikipedia.org/wiki/IEEE_754 -
那么,您的问题是什么?标题中的那个(“我需要...的正则表达式”)或文本中的那个(“我应该为价格选择哪种数据类型?”) ?
-
您必须提供更多示例、示例输入、所需输出...否则很难帮助您和其他遇到类似问题的人。
-
价格格式(点、逗号、小数):是的,您是对的,某些文化正在使用不同的格式,因此他们可以将价格值以该格式表示。我的问题是“这些验证是否可以通过简单的正则表达式来完成,或者是否有任何其他方式”。客户可以以任何格式(错误地)为价格设置任何类型的值。所以我需要验证这些价格。