js方法中已经获取到了文本框的值,当这个值的小数位数大于8时提示只能保留6位小数,怎么做?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js方法中已经获取到了文本框的值,当这个值的小数位数大于8时提示只能保留6位小数,怎么做?相关的知识,希望对你有一定的参考价值。

js方法中已经获取到了文本框的值,当这个值的小数位数大于8时提示“只能保留6位小数”,如何获取这个值得小数位数?怎么做?
//a是获取到的值
var a = document.getElementById("Numb").value;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
li list-style-type:none;
</style>
<script type="text/jscript">

function info()
var value=document.getElementById("a").value;
if(value.indexOf(".")!=-1)
var num=value.substr(value.indexOf(".")+1);
if(num.length!=6)
alert("只能保留6位小数");






</script>
</head>

<body>

<form>
    <input type="text" id="a"  onblur="info()"/>
        <span style="float:left">公告:</span>
     <ul>
         <li>
           <input type="radio" name="radio" id="radio" value="radio" />
            aaa</li>
            <li>
                 <input type="radio" name="radio2" id="sex" value="sex" />
            bbb</li>
        </ul>
    </form>
</body>
</html>

参考技术A 做个截取,从.往后得字符串,判断这个字符串长度length是否大于6.不就行了追问

var arr =a.split(".");
if(arr[1].length>8)
tool.alert("只能显示6位小数");
return;
这样吗?

追答

思想是对得,行不行,你运行下就知道了啊'

js获得文本框的值怎么转化成数值型啊

function dd()
var a, b;
a=document.getElementById("dj").value;
b=document.getElementById("sl").value;
document.getElementById("hj").value=a+b;
//这是JS 部分

下面的表单部分
<tr><td>输入单价 </td> <td> <input type="text" name="password" id="dj" size="15" ></td></tr>
<tr><td>输入数量</td> <td> <input type="text" name="password" id="sl" size="15" ></td></tr>
<tr><td>合计</td> <td> <input type="text" name="text" id="hj" size="15" onfocus="dd()" >
单价和数量输入的是数值但是合计这行实现的值不是数值相加,是两个字符串相连。

咋解决啊。。
我自己补充哈算了,我已近找到解决办法了
function dd()
var a, b;
a=document.getElementById("dj").value*1;
b=document.getElementById("sl").value*1;//在后面乘个1就解决问题了。
document.getElementById("hj").value=a+b;

javascript主要有以下三种数据类型转换方式:

    转换函数:parseInt()和parseFloat()分别将值转换成整数和浮点数。

    强制类型转换:Boolean(value)、Number(value)、String(value)将给定的值分别转换成逻辑值、数字(整数或浮点数)及字符串。 

    弱类型自动转换:字符串与数字进行数学操作符运算时,字符串会自动转为数字。

实例演示:将文本框的值转化成数值型

var a = document.getElementById("num1").value;
var b = document.getElementById("num2").value;

var c1 = parseFloat(a) + parseFloat(b);   //  函数转换
var c2 = Number(a) + Number(b);  //  强制类型转换
var c3 = a*1 + b*1;   // a*1将自动转化为数字类型

参考技术A 将文本框中的字符型转换为浮点型的语句:double.Parse(extBox1.Tex)将浮点型的计算结果以字符串的形式展现,就要采用ToString0方法,若计算结果存储在变量z中,则除出的语句为TextBox3.Text - z.Totring0.4 参考技术B Int c=Integer.parseInt();
浮点数类同;
参考技术C 我是来打酱油的。。。
今天正好碰到这个问题,以为没有答案,没想到LZ自问自答了。
*1的确可以解决问题。但是不知道原理,希望好心人给解释下

以上是关于js方法中已经获取到了文本框的值,当这个值的小数位数大于8时提示只能保留6位小数,怎么做?的主要内容,如果未能解决你的问题,请参考以下文章

js判断文本框输入的是不是数字,若是小数,小数点后只能有一位数字

用JS怎样获取文本框的值

文本框的值改变了,js怎么获取

js输入文本时判断是不是停留3秒

js修改文本框name或ID属性

在js中,如何替换一个文本中的多个字符?