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

相关文章推荐

JAVA如何把一个float四舍五入到小数点后2位,4位,或者其它指定位数.

怎么使float保留两位小数或多位小数 http://meryvn.blog.163.com/blog/static/36962664201173010402629/ 两种方法: impor...

js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码

1.       var reg = /^(/w|[/u4E00-/u9FA5])*$/; if(arr=username.match(reg)) {    ti=1;    return ture;...

js正则表达式限制文本框只能输入数字,小数点,英文字母

1.文本框只能输入数字代码(小数点也不能输入) 2.只能输入数字,能输小数点. 3.数字和小数点方法二 ...

EditText只能输入2位小数及一个小数点

项目新需求:EditText输入的数值只能输入2位小数… 直接看结果的://只允许输入一个小数点和0--9的数字 mEditText.setKeyListener(new DigitsKeyListe...

java计算器 图形用户界面 升级版v2.0 (限制位数显示+四舍五入的处理)

package com.rgy.entity; import java.awt.BorderLayout; import java.awt.Font; import java.awt.GridLay...

价格限制输入2位小数

  • 2015年11月10日 17:03
  • 2.03MB
  • 下载

js限制input只能输入有效的数字,有且只有一个小数点,第一个不能为小数点

Document $(document).ready(function() { //敲击按键时触发 $("#Score").bind(...
  • kongjiea
  • kongjiea
  • 2014年09月28日 17:59
  • 17850

SQL中的小数点后的四舍五入

  • 2016年01月26日 09:46
  • 388B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JS 限制用户只能输入小数点后2位,以及四舍五入
举报原因:
原因补充:

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