Android Edittext输入限制一位小数2位小数(n位)小数简单通用实现

虚拟机Ubuntu连接USRP 笔记本通过网线连接USRP。 阅读详情

最近一个需求最大金额输入999999.99,在网上看了一下都写的比较繁琐,不是很易懂

首先限制输入类型在xml里面配置

android:inputType="numberDecimal"
再限制长度算上小数点一共9位
android:maxLength="9"
重点来了怎么限制2位小数
直接上代码
private String discountStr;

private TextWatcher discountWatch = new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        discountStr = s.toString();
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        String trim = s.toString().trim();
        if (!TextUtils.isEmpty(trim)) {
            Double currentInput = 0.0;
            if (trim.contains(".")) {
                String[] split = trim.split("\\.");
                if (split.length > 1) {
                    String s1 = split[1];
                    if (!TextUtils.isEmpty(s1)) {
                        if (s1.length() == 2) {
                            etDiscount.setText(discountStr);
                            try {
                                String trim1 = etDiscount.getText().toString().trim();
                                etDiscount.setSelection(trim1.length());
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            return;
                        }
                    }
                }
            }
           

        } 

    }

    @Override
    public void afterTextChanged(Editable s) {

    }
};
原理很简单,在beforeTextChanged里面把上一次输入的值用discountStr存起来
,在onTextChanged里面判断是否包含小数点,如果包含小数点则对其进行切割,如
果切割的第二位长度大于2(N)则让它再次赋值为discountStr。,需要注意的是分割
小数点要用到转义符。







OpenHarmony电源管理驱动架构剖析:HDI框架下的低功耗实现 鸿蒙电源管理驱动模块是OpenHarmony操作系统中负责设备电源状态管理的核心组件。该模块基于HDI(Hardware Device Interface)框架实现,提供了完整的电源管理功能,包括系统休眠/唤醒、运行锁管理、休眠模式控制等核心功能。public:// 主要接口函数// 运行锁管理private:// 内部辅助函数// 成员变量public:// 运行锁控制接口// 回调管理private:// 内部辅助函数。 阅读详情

相关推荐

LabVIew串口收发的一些问题

LabView串口收发实验总结

weixin_45508826的博客 2066

Android 限制Edit输入数字和小数点,保证小数点为一个

推荐使用Android自带的 使用方法 android:inputType="number|numberDecimal" setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL); 足够解决输入数字和小数点的问题 但是没有解决负数问题 如果想完全定制,推荐使用自定义键盘完成 ...

fengzhiqi1993的博客 695

RTC温度补偿:如何让时间分秒不差?

RTC(实时时钟)温度补偿技术通过"检测温度→计算误差→动态调整频率"的闭环机制,解决振荡器频率随温度变化导致的时间误差问题。核心步骤包括:1)高精度温度检测;2)基于温度-频率误差模型计算偏差;3)通过硬件(可编程电容/DAC)或软件方式调整振荡频率。该技术需突破温度检测精度、误差模型拟合、频率调整分辨率等关键点,根据不同应用场景(消费电子±5ppm至军工±0.1ppm)选择匹配方案。典型实现如STM32的分段线性补偿算法,可将工业级RTC精度提升至±2ppm以内。

上市公司前技术负责人,20 年软硬件深耕 + 百人研发团队管理经验,名校理工科背景加持。从技术攻坚到团队掌舵,沉淀海量项目实战与管理心得,专注分享软硬件干货、疑难问题解决方案,既是靠谱知识传播者,也盼链接优质项目共成长。 1230

Android EditText 保留指定位数小数

Android EditText 保留指定位数小数

光年的博客 625

FP7195升降压恒流驱动IC:从AC/DC 12~24V输入到稳定输出的高效电源设计实战

本文详细解析FP7195升降压恒流驱动IC的工作原理与应用实战。该芯片支持4.5V-32V宽输入范围,能自动切换升降压模式并保持输出恒定,特别适用于车载LED照明、工业电源等电压波动场景。通过实际案例分享PCB布局、元件选型及调试技巧,帮助工程师实现高效稳定的电源设计。

vodka的博客 957

AD9361 Fast Lock实战:Python脚本自动生成Profile寄存器配置(附完整代码)

本文详细介绍了利用Python脚本实现AD9361 Fast Lock Profile寄存器自动化配置的实战方案。通过解析频率合成公式、VCO约束及查表机制,脚本能根据目标频率一键生成完整的16进制寄存器序列,大幅提升射频系统开发中多频点切换的效率和准确性,并支持CSV、JSON、C头文件等多种输出格式,便于与FPGA/嵌入式系统集成。

weixin_29194693的博客 475

EditText限制只能输入数字且能输入小数点,限制小数点位数

EditText只能输入小数和限制位数

qq_38363506的博客 3307

RK3588在线更新系统内核的方法

《RK3588设备在线升级系统内核方法》 本文介绍了RK3588设备在线升级系统内核的简易方法。通过将新内核文件boot.img拷贝至目标主机后,使用dd命令配合关键参数(fsync确保写入磁盘、notrunc避免截断分区)进行安全更新,更新后需执行sync同步操作并重启生效。文章特别强调操作过程中断电风险,并扩展说明了Uboot的类似更新方法。该方法避免了现场设备拆卸的麻烦,为嵌入式系统维护提供了实用解决方案。

荻夜的博客 1051

Android Edittext限制输入小数位数,限制输入数字大小及所有相关式样与属性(总结)

对于Edittext大家都是不陌生的,在这里就不多说什么了,直接进入主题,写此篇只是为了记录一下Edittext的一些使用技巧: Edittext属性大全 1.限制输入范围方法一: /** * 限制输入数字的范围 */ public class RegionNumberEditText extends EditText { private Context context; ...

shenggaofei的博客 1万+

多角度模板匹配的模板创建技巧

基于形状的模板匹配多角度创建技巧

manuoo的专栏 3403

利用 RSAU_LOG_API 把 SAP 安全审核日志接入企业 SIEM 的完整指南

在 SAP 世界里,安全审核日志(Security Audit Log,简称 SAL)是审计和合规的核心基础设施之一。系统会在后台把安全相关的关键事件记录下来,比如:(用户登录与登录失败用户锁定、解锁权限对象或角色变更远程调用(RFC)相关活动关键事务码的启动程序直接执行、批处理作业相关的敏感操作传统 ABAP 系统里,这些日志会写到本地应用服务器上的审计文件中(背后对应类似表RSAUENTR2的结构),包含事件标识、客户端、用户、终端、事务码、时间戳等信息。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 164

EditText限制输入数字,精确到小数点后1位设置

在EditText的布局文件里面设置: android:inputType="numberDecimal" 在代码中: /** 输入框小数的位数*/ private static final int DECIMAL_DIGITS = 1; InputFilter lengthfilter = new InputFilter() { public CharSe

千寻 2115

手把手教你学simulink(41.4)--逆变器电场景示例:基于Simulink的主从控制的多逆变器协同控制(Multi-Inverter Coordinated Control)

需求分析在现代电力系统中,分布式发电和储能系统的广泛应用使得多个逆变器并联运行成为常见的应用场景。为了确保多个逆变器之间的协同工作,实现系统的稳定性和高效性,通常采用主从控制(Master-Slave Control)策略。主从控制通过一个主控制器(Master)来协调多个从控制器(Slave),确保所有逆变器的输出电压、频率和功率分配符合预期目标。本项目将基于Simulink平台,开发一个多逆变器协同控制系统,采用主从控制策略,实现对多个逆变器的精确控制和优化。

MHD0815的博客 307

给EditText添加一个工具方法,使其支持仅保留到第N位小数

需求:项目中需要一个能截取到小数点后2位的edittext,且在输入的时候实时的监听输入变化,将金额内容转换成中文金额大写的内容; 参考:http://www.blogjava.net/fastunit/archive/2008/03/25/188537.html 大写金额 其中几点可能需要注意: 1. 不希望用自定义控件,那样耦合性会很大,个人觉得没必要; 2. 利用现有edit

jin4cs的专栏 899

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Android InputNumWatcher工具类 一行代码实现2位小数限制 多位小数限制终结者,简单易懂好用。

大家好,,日常开发中,金额一般需要做2位限制,折扣一般做一位小数限制,之前代码里面写了很多onaddTextChangeListener,整个代码看起来非常臃肿,复用性不佳,今天把它抽出一个工具类,希望能对大家有所帮助。废话不多说,先上工具类,直接复制到你工具类的包即可。/** * N位小数 * Created by luomingjing on 2017/12/28. */ public ...

SingleView的博客 353

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

EditText输入数据精确到小数点后n位

在设置金额输入框的时候,只需要数字,而且往往有精确度限制,这里默认精确度是小数点后面1位。

u014620028的专栏 1704

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

android 数值输入限制_EditText限制字符输入

如何设置EditText,使得只能输入数字或者某些字母呢?一、设置EditText,只输入数字:方法1:直接生成DigitsKeyListener对象就可以了。et_1.setKeyListener(new DigisKeyListener(false,true));方法2:在EditText中设置属性,android:numeric="integer"即只能输入整数,如下android:sing...

weixin_31964135的博客 630

android 保留小数点后两位

1. 调用代码: EditText mEtMoney = (EditText) findViewById(R.id.et_money); mEtMoney.addTextChangedListener(new EditeTextCheckout().getTextWatcherN(7, 2)); 2.EditeTextCheckout 的实现 /** * 创建者 ...

csdn131488的博客 1471

editview只输入英文_android代码设置EditText只输入数字、字母

一、设置EditText,只输入数字:方法1:直接生成DigitsKeyListener对象就可以了。et_1.setKeyListener(newDigitsKeyListener(false,true));方法2:在EditText中设置属性,android:numeric="integer"即只能输入整数,如下android:singleLine="true"android:numeric=...

weixin_42518008的博客 813

Android设置EditText只接受数字输入以及定义字符

[java] view plaincopyprint? EditText et;   et = (EditText) findViewById(R.id.et);   // 方法1:建立一个DigitsKeyListener,然后把它设为你的EditText的KeyListener   DigitsKeyListener numericOnlyListener 

Geek Nero 2808

EditText 输入内容控制

http://www.2cto.com/kf/201206/134862.html http://blog.sina.com.cn/s/blog_6400e5c50101aojp.html 如何设置EditText,使得只能输入数字或者某些字母呢? 一、设置EditText,只输入数字: 方法1:直接生成DigitsKeyListener对象就可以了。 et_1.setK

zfking86的专栏 771

Android常用控件--EditText

EditText控件的常用属性如下: android:hint="请输入数字!"//设置显示在输入位置上的提示信息 android:numeric="integer"//设置只能输入整数,如果是小数则是:decimal android:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行。 android:password="true"//设置只能输入

JavaQ 5136

EditText只能输入正整数或小数等小结

最近工作这块好折腾,虽然用正则可以解决,但是还是翻阅了下Android提供的方式。 下面是我总结和在网上看到的,希望对大家有帮助。 如何设置EditText,使得只能输入数字或者某些字母呢? 一、设置EditText,只输入数字: 方法1:直接生成DigitsKeyListener对象就可以了。 et_1.setKeyListener(new DigitsKeyListene...

weixin_30955341的博客 584

Android代码设置EditText只输入数字、字母

何设置EditText,使得只能输入数字或者某些字母呢? 一、设置EditText,只输入数字: 方法1:直接生成DigitsKeyListener对象就可以了。 et_1.setKeyListener(new DigitsKeyListener(false,true)); 方法2:在EditText中设置属性,android:numeric="integer"即只能输入整数,如下 a

chaozhung的专栏 3536

android代码设置EditText只输入数字、字母

android代码设置EditText只输入数字、字母

未来很长,但我会努力的走下去。 3213

android代码集EditText只要输入号码、信

 如何设置EditText,因此,只有某些数字或字母可以进入它? 一、建立EditText,只要输入号码: 办法1:直接生成DigitsKeyListener了。 et_1.setKeyListener(new DigitsKeyListener(false,true)); 方法2:在EditText中设置属性。android:numeric="integer"即仅仅能输入...

weixin_34206899的博客 130
上一篇: 微信分享图片 文字 Android原生分享图片文字 微信小程序分享
下一篇: Android activity常用传值Json字符串传字符串传对象传集合
SingleView
博客等级 码龄10年 2粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值