JS 限制用户只能输入小数点后2位,以及四舍五入

原创 2011年01月14日 15:02:00

限制用户只能输入两位小数

function regInput(obj, reg, inputStr)
 {
  var docSel = document.selection.createRange()
  if (docSel.parentElement().tagName != "INPUT") return false
  oSel = docSel.duplicate()
  oSel.text = ""
  var srcRange = obj.createTextRange()
  oSel.setEndPoint("StartToStart", srcRange)
  var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
  return reg.test(str)
 }


 
<INPUT style="WIDTH: 50px;IME-MODE:disabled" value=0 name=flightback min="0" max="99" onKeyPress = "return regInput(this,/^/d*/.?/d{0,2}$/,String.fromCharCode(event.keyCode))"> %

 

 

JS保留两位小数(非强制) 
对于一些小数点后有多位的浮点数,我们可能只需要保留2位,但js没有提供这样直接的函数,所以我们得自己写函数实现这个功能,代码如下:
function changeTwoDecimal(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal->parameter error');
return false;
}
var f_x = Math.round(x*100)/100;

return f_x;
}

功能:将浮点数四舍五入,取小数点后2位
用法:changeTwoDecimal(3.1415926) 返回 3.14
changeTwoDecimal(3.1475926) 返回 3.15
 
 

js保留2位小数(强制) 

对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:
changeTwoDecimal(3.1),将返回 3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:

function changeTwoDecimal_f(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal->parameter error');
return false;
}
var f_x = Math.round(x*100)/100;
var s_x = f_x.toString();
var pos_decimal = s_x.indexOf('.');
if (pos_decimal < 0)
{
pos_decimal = s_x.length;
s_x += '.';
}
while (s_x.length <= pos_decimal + 2)
{
s_x += '0';
}
return s_x;
}

功能:将浮点数四舍五入,取小数点后2位,如果不足2位则补0,这个函数返回的是字符串的格式
用法:changeTwoDecimal_f(3.1415926) 返回 3.14
changeTwoDecimal_f(3.1) 返回 3.10

JS控制只能输入数字并且最多允许小数点两

JS控制只能输入数字并且最多允许小数点两位
  • u012402177
  • u012402177
  • 2016年09月19日 17:23
  • 13311

js正则表达式,限1-2位整数,或者至多含有两位小数

$(function(){ //1、只能输入数字或者小数点 仅整数,整数加小数 var reg1=/(^[0-9]{1,2}$)|(^[0-9]{1,2}[\.]{1}[0-9]{1...
  • bestcxx
  • bestcxx
  • 2017年03月07日 17:49
  • 4627

EditText限制输入的小数点只能2个

et.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s...
  • a872822645
  • a872822645
  • 2016年06月23日 11:44
  • 636

input只可以输入数字或者是最多小数点2位的js代码

js代码 $.validator.addMethod("price", function(value, elem
  • u013018357
  • u013018357
  • 2017年02月21日 15:05
  • 1386

JS截取小数点后面2位 是截取 不是四舍五入

1.substr(使用很麻烦) var str = "Hello world!"; document.write(str.substr(3)); 输出:lo world! var str = ...
  • lucyliucuiyue
  • lucyliucuiyue
  • 2017年03月02日 14:22
  • 1343

edittext只能输入数字和小数点,且小数点后只能输入两位

1.在edittext的xml中输入属性 android:inputType="numberDecimal" 2.在edittext的监听中 et_dollar.addTextChang...
  • zhou12314
  • zhou12314
  • 2016年06月14日 14:43
  • 1009

限定EditText只能输入两位小数的两种方式

一,布局文件
  • yinzhijiezhan
  • yinzhijiezhan
  • 2015年07月09日 17:01
  • 11944

sqlserver中,四舍五入之后,小数点后显示2位的sql文

select   cast(round(12.5,2)   as   numeric(5,2)) 解释:round()函数,是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之...
  • caoyuanlang_11
  • caoyuanlang_11
  • 2010年03月24日 10:35
  • 13479

JS将浮点数四舍五入,取小数点后2位

功能:将浮点数四舍五入,取小数点后2位 用法:changeTwoDecimal(3.1415926) 返回 3.14 changeTwoDecimal(3.1475926)返回 3.15 ...
  • aeolus1019
  • aeolus1019
  • 2013年10月14日 14:00
  • 1928

input输入框 只能输入数字,并且保留2位小数

限制输入框只能输入数字,并且保留两位小数
  • lijl058
  • lijl058
  • 2017年09月07日 14:27
  • 1871
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JS 限制用户只能输入小数点后2位,以及四舍五入
举报原因:
原因补充:

(最多只允许输入30个字)