代码改变世界

EditText输入框实现最多到小数点后两位(金额显示)

package com.lianpos.util;

import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText; /**
* Created by wangshuai on 2017/11/29 0029.
*/ public class MoneyEditText {
public static void setPricePoint(final EditText editText) { editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (s.toString().contains(".")) {
if (s.length() - 1 - s.toString().indexOf(".") > 2) {
s = s.toString().subSequence(0,
s.toString().indexOf(".") + 3);
editText.setText(s);
editText.setSelection(s.length());
}
}
if (s.toString().trim().substring(0).equals(".")) {
s = "0" + s;
editText.setText(s);
editText.setSelection(2);
}
if (s.toString().startsWith("0") && s.toString().trim().length() > 1) {
if (!s.toString().substring(1, 2).equals(".")) {
editText.setText(s.subSequence(0, 1));
editText.setSelection(1);
return;
}
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
}
}

  使用方法:

MoneyEditText.setPricePoint(number_unit_edit);

  number_unit_edit是edittext,如下:

<EditText
android:id="@+id/number_unit_edit"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@null"
android:gravity="right"
android:hint="0.00"
android:maxLength="7"
android:inputType="numberDecimal"
android:padding="15dp"
android:textColor="#333333"
android:textSize="16dp" />

  

最新文章

  1. 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(七)地图打印模块
  2. redis缓存
  3. Android中Animation 详细解读
  4. LaTeX 有哪些「新手须知」的内容?
  5. [linux] 系统管理常用命令
  6. SQL SERVER 高级编程 - 自定义函数 拾忆
  7. webfont自定义字体的实现方案
  8. OCA读书笔记(15) - 执行数据库备份
  9. Android Studio 100 tips and tricks
  10. 这一招让 Word 帮你自动生成文件目录,也能自动更新
  11. python pip升级失败
  12. 我们为什么要使用RabbitMQ?
  13. springmvc 项目完整示例05 日志 --log4j整合 配置 log4j属性设置 log4j 配置文件 log4j应用
  14. Java入门系列 Java 中的四种引用
  15. vue 中的数据绑定
  16. C++常见的概念
  17. JAVA记录-异常基本概念
  18. RMAN命令总结
  19. Java中级面试题及答案整理
  20. Python日期格式化知识

热门文章

  1. SAP Cloud for Customer Price-计价简介
  2. 分享一些关于Lucene的心得
  3. UVA 10570 Meeting with Aliens 外星人聚会
  4. [手势识别] CNN + OpenCV 手势识别记录
  5. 实验十二 团队作业8:软件测试与Alpha冲刺
  6. “CTL_CODE”未定义
  7. window.addEventListener介绍说明
  8. ll1文法
  9. B. Anatoly and Cockroaches
  10. 【js】window.onscroll 无效问题