0

海,我正在使用 SmartGwt Java。要使用 keyPressFilter 格式化价格,请建议任何正则表达式。它只接受 0-9 和一位小数。现在我正在使用 KeyPress 处理程序。如果它为空(默认),则使用 TextItem.setEmptyDisplayValue("0.00") 设置此值“0.00”。所以第一次它会接受一个小数,即使有另一个小数(“0.00”)。给出这个问题的解决方案。提前致谢。问候,沙迪亚。

4

1 回答 1

0

许多不同的解决方案是可能的。

按下任意键后将一个空字段变为“0.00”的内容是令人惊讶的,甚至可能会让用户感到不安;我不会那样做的。如果你要帮助他,你必须彻底地帮助他,提供相当于输入编辑器的功能。否则,让他做他的工作,并在他试图将注意力转移到场外时检查最终结果。

正则表达式是检查输入的一种方法;但单独完成,这是一个懒惰且无效的解决方案。您可以在每次击键时访问整个输入文本。您可以通过检查输入文本中是否已经存在小数来解决您的问题,keyUp如果是,则不允许另一个。您可以执行类似的操作来防止在小数点后输入超过 2 位数字。

于 2010-07-14T09:59:41.790 回答