android输入框只能输入数字和小数点

EditText可以设置多种输入方式,其中若要设置输入数字和小数点时应注意一下几点:

1.如果设置只输入数字

edittext.setInputType( InputType.TYPE_CLASS_NUMBER);

此时只会弹出数字输入框,符号点击后不会输入到文字框中

2.只能输入数字和小数点

edittext.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

此时注意:只设置InputType.TYPE_NUMBER_FLAG_DECIMAL是无法实现只能输入数字和小数点的,必须InputType.TYPE_CLASS_NUMBER 和InputType.TYPE_NUMBER_FLAG_DECIMAL同时设置才可以

3.在布局xml文件中写法:

 

 
  1. <EditText

  2. android:id="@+id/et_total_money_input"

  3. style="@android:style/Widget.TextView"

  4. android:layout_width="wrap_content"

  5. android:layout_height="wrap_content"

  6. android:layout_alignParentRight="true"

  7. android:layout_centerVertical="true"

  8. android:background="@null"

  9. android:gravity="right"

  10. android:hint="请输入金额"

  11. android:inputType="number|numberDecimal"

  12. android:textColor="@color/font_FF4081"

  13. android:textSize="12sp"/>

 

4.自定义正则表达式

http://blog.csdn.net/u012246458/article/details/73466048

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用JavaScript来实现elul输入框只能输入数字小数点的功能,具体实现方法如下所示: ```javascript // 获取elul输入框元素 var elulInput = document.getElementById("elul-input"); // 给elul输入框绑定onkeydown事件 elulInput.onkeydown = function(event) { // 获取当前按下的键的keyCode var keyCode = event.keyCode; // 允许数字键、小数点键、删除键、退格键以及左右方向键 if ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 96 && keyCode <= 105) || keyCode == 190 || keyCode == 110 || keyCode == 8 || keyCode == 46 || keyCode == 37 || keyCode == 39) { return true; } else { return false; } }; // 给elul输入框绑定onkeyup事件 elulInput.onkeyup = function(event) { // 获取elul输入框的值 var value = elulInput.value; // 将非数字小数点的字符替换为空字符串 value = value.replace(/[^\d\.]/g, ""); // 将多余的小数点替换为空字符串 value = value.replace(/\.{2,}/g, "."); // 将小数点前面的多余的0去掉 value = value.replace(/^0+(\d+)/g, "$1"); // 将小数点后面的多余的0去掉 value = value.replace(/(\.\d+?)0+$/g, "$1"); // 将elul输入框的值设置为处理后的值 elulInput.value = value; }; ``` 在上述代码中,我们首先获取了elul输入框的元素,然后给它绑定了onkeydown和onkeyup事件。在onkeydown事件中,我们判断了当前按下的键是否是数字键、小数点键、删除键、退格键以及左右方向键,如果是则返回true,否则返回false,这样就可以限制elul输入框只能输入数字小数点了。在onkeyup事件中,我们获取了elul输入框的值,然后使用正则表达式将非数字小数点的字符替换为空字符串,将多余的小数点替换为空字符串,将小数点前面的多余的0去掉,将小数点后面的多余的0去掉,最后将elul输入框的值设置为处理后的值,这样就可以保证elul输入框中的数字小数点的格式是正确的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值