android editText 控制輸入最大值、保留兩位小數、保留小數點前面兩位數
常用方案:
1.在editText的監聽addTextChangedListener中邏輯判斷
2.使用editText的setFilters(new InputFilter[]),設定輸入過濾。
保留小數點後兩位方法:
1.設定editTextview的inputtype:
editText.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_CLASS_NUMBER);
2.設定editText的輸入過濾
editText.setFilters(new InputFilter[]{new InputFilter() {
int decimalNumber = 2;//小數點後保留位數
@Override
//source:即將輸入的內容 dest:原來輸入的內容
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
String sourceContent = source.toString();
String lastInputContent = dest.toString();
//驗證刪除等按鍵
if (TextUtils.isEmpty(sourceContent)) {
return "";
}
//以小數點"."開頭,預設為設定為“0.”開頭
if (sourceContent.equals(".") && lastInputContent.length() == 0) {
return "0.";
}
//輸入“0”,預設設定為以"0."開頭
if (sourceContent.equals("0") && lastInputContent.length() == 0) {
return "0.";
}
//小數點後保留兩位
if (lastInputContent.contains(".")) {
int index = lastInputContent.indexOf(".");
if (dend - index >= decimalNumber + 1) {
return "";
}
}
return null;
}
}});
3.在editText監聽中設定小數點前的位數
editText.addTextChangedListener(new TextWatcher() {
String temp;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
temp = s.toString();
if (TextUtils.equals(unit.getText(), "㎡")) {
int posDot = temp.indexOf(".");
//沒有小數點,控制小數點前的位數
if (posDot <= 0) {
if (temp.length() <= 2) {
return;
} else {
//刪除第二位後面的內容
s.delete(2, temp.length());
ToastUtil.showShort("測量值填寫格式為0.01-99.99");
return;
}
}
if (temp.equals("0.00")) {
//輸入“0.00”時清除內容
s.clear();
ToastUtil.showShort("測量值填寫格式為整數1-9999");
}
} else {
if (temp.startsWith("0")) {
s.clear();
ToastUtil.showShort("測量值填寫格式為整數1-9999");
}
if (temp.length() >= 4) {
s.delete(4, temp.length());
ToastUtil.showShort("測量值填寫格式為整數1-9999");
}
}
}
});
相關推薦
android editText 控制輸入最大值、保留兩位小數、保留小數點前面兩位數
常用方案: 1.在editText的監聽addTextChangedListener中邏輯判斷 2.使用editText的setFilters(new InputFilter[]),設定輸
【java入門】使用選擇法確定輸入最大值
package com.demo; import java.util.Scanner; public class Test4 { public static void main(String[] args) { Scanner scanner = new Sca
Android-EditText控制輸入範圍在0~100之間
需求是,在EditText中輸入數字,而且數字範圍在0到100。貼出程式碼如下: edit.addTextChangedListener(new TextWatcher(){
正則控制可以輸兩位小數、負數,整數
function num(obj){ obj.value = obj.value.replace(/[^\d.-]/g,""); //清除"數字"和"."以外的字元 obj.value = obj.value.replace(/^\./g,""); //驗證第一個字元是.字 ob
控制輸入框只能輸入兩位小數和一個小數點
在專案中會對輸入框中的輸入值實時控制小數位,限制使用者只能輸入兩位小數,一個小數點.$(obj).bind("input onInput",function(){ var value =
delphi Edit 控制最大值,只能輸入數字型 控制小數位數
delphi語言受眾多程式設計師追捧,主要原因之一就是它有很多第三方的控制元件可供使用。很多資深的delphi程式設計師都把自己積累的函式、過程等設計成控制元件,以方便使用,提高開發效率。 本文通過一個只允許輸入數字、並且可以設定輸入值範圍和小數點位數的編輯框控制元件的設計,詳細介紹了控制元件的實現方法。該
MUI-numbox(數字輸入框),最小值、最大值、步長、獲取值、設定值、重定義
本文主要介紹numbox(數字輸入框),最小值、最大值、步長、獲取值、設定值、重定義功能 mui提供了數字輸入框控制元件,可直接輸入數字,也可以點選“+”、“-”按鈕變換當前數值;預設numbox控制元件dom結構比較簡單,如下: <div class="mui-numbox"&g
C#小練習(輸入10個數存入陣列中,求最大值、最小值和平均值.)
/* (程式頭部註釋開始) * 程式的版權和版本宣告部分 * Copyright (c) 2011, 煙臺大學計算機學院學生 * All rights reserved. * 檔名稱:
C#--輸入10個數存入陣列中,求這10個數的最大值、最小值和平均值。
輸入10個數存入陣列中,求這10個數的最大值、最小值和平均值。 using System; using System.Collections.Generic; using System.Linq; u
js Math [ 隨機數、絕對值、四舍五入、進一取整、舍去取整、最大值、最小值、圓周率 ]
pre 最大 abs 取整 dom tran 絕對值 rip math <script> /* 數學對象:Math */ with (document) { write(‘<br>-3.5的絕
從輸入的值中獲取最大值和最小值,輸入0後結束(利用do_while boolean isRight來標識用戶輸入)
bool out 用戶 system efault 最大 pub string void mport java.util.Scanner; public class DoWhile2 {public static void main(String[] args) { int
預處理、const、static與sizeof-用#define實現宏並求最大值和最小值
最大 運算 code span sizeof stat eof 代碼 bsp 1:實現代碼: #define MAX(x,y) (((x)>(y)) ? (x):(y)) #define MIN(x,y) (((x)>(y)) ? (x):(y)) 需要註
【十一】找出一組數組中最大值、最大值的角標、最小值、最小值的角標及平均數
思路 原來 比較 快捷 兩個 span div 選擇排序 分數 需求:現有一組評委打分的數據。 求出他們的最大值與最小值。 最大值最小值的角標 去除最大值與最小值後的平均數 代碼: 1 <?php 2 $arr=array(1,2,3,4); 3
socket tcp緩沖區大小的默認值、最大值
usr send p s ipv core treat 字節 net ron Author:阿冬哥 Created:2013-4-17 Blog:http://blog.csdn.net/c359719435/ Copyright 2013 阿冬哥 http:/
單鏈表查找最大值、兩個遞增的鏈表合並並且去重
lin esp new ace ext color 查找 class AI 單鏈表查找最大值 代碼: 1 #include<iostream> 2 #include<bits/stdc++.h> 3 using namespace std;
如何使用sql函數平均值、總數、最小值、最大值
first and sum count函數 round TP rom nvl 不包含 使用sql函數,您可以在一個select語句的查詢當中,直接計算數據庫資料的平均值、總數、最小值、最大值、總和、標準差、變異數等統計。使用recordset對象時,也可使用這些sql函數。
java三個取最大值、菜單新增修改、猜數字大小
com nbsp 大小 .com java img image ava 分享 java三個取最大值、菜單新增修改、猜數字大小
【劍指offer】59、隊列的最大值(不熟)
最大值 ber 元素 const 所有 刪除元素 windows 窗口 push_back 題目一 給定一個數組和滑動窗口的大小,請找出所有滑動窗口裏的最大值。例如,{2,3,4,2,6,2,5,1}以及窗口大小3,那麽存在6個滑動窗口,最大值分別為{4,4,6,6,6,5
[原創]獲取JS數組最大值、最小值
str 對象 tro js數組 最大值 clas 增加 his 屬性方法 核心關鍵 JS有Array數組對象,使用prototype內置屬性擴展,增加Array數組max()、min()方法 具體代碼 //最小值 Array.prototype.min =
C#獲取一個數組中的最大值、最小值、平均值
program min bsp max exc 平均值 style 最大 return C#獲取一個數組中的最大值、最小值、平均值 1.給出一個數組 1 int[] array = new int[] { 1,2,4,3,0,-1,34,54