亥, 我正在使用SmartGwt Java。要使用keyPressFilter格式化价格,请建议任何正则表达式。它只接受0-9和单小数。 现在我正在使用KeyPress处理程序。如果它为空(默认),则使用TextItem.setEmptyDisplayValue(“0.00”)将此值设置为“0.00”。因此,第一次它将接受单个十进制eventHough存在另一个小数(“0.00”)。为此问题提供解决方案。 提前致谢。 问候, 沙迪亚。
答案 0 :(得分:0)
许多不同的解决方案都是可能的。
按任意键后将空白字段变为“0.00”的内容是令人惊讶的,甚至可能令用户感到不安;我不会这样做。如果你要帮助他,你必须彻底这样做,提供相当于输入编辑器。否则,让他做他的工作,当他试图将焦点转移到场外时,检查最终结果。
正则表达式是检查输入的一种方法;但单独完成,这是一个懒惰而无效的解决方案。您可以在每次击键时访问整个输入文本。您可以通过在keyUp
时间检查输入文本中是否已有小数来解决您的问题,如果是,则不允许另一个小数。您可以执行类似操作,以防止在小数点后输入超过2位数。