手机版 | 登录 | 注册 | 留言 | 设首页 | 加收藏
联系客服
当前位置: 网站首页 > 秘诀窍门 > 文章 当前位置: 秘诀窍门 > 文章

在javascript中,0.6*3,结果为什么是1.799999999998,怎么才能变成应得的1.8;如何将3*3的结果格式化为9.0,而不是9?

时间:2021-07-29    点击: 次    来源:网络    添加者:佚名 - 小 + 大


wtoeb
2003-08-24 04:45:15
在javascript中,0.6*3,结果为什么是1.799999999998,怎么才能变成应得的1.8;如何将3*3的结果格式化为9.0,而不是9?谢谢!

<script>
<!--
function test(){
result=parseFloat(document.pns.n1.value)*parseFloat(document.pns.n2.value);
alert(result);
}
-->
</script>
<form name=pns action=# method=post>
<input name=n1 value=3>
<input name=n2 value=0.6>
<input type=button value=yes onclick="test()">
</form>
35点赞收藏8
 写回复
8 条回复
 切换为时间正序
请发表友善的回复…
发表回复
Math.round(parseFloat(需要四舍五入的数据)*10)/10 这样是保留1位小数
Math.round(parseFloat(需要四舍五入的数据)*100)/100 这样是保留两位小数
Math.round(parseFloat(需要四舍五入的数据)*1000)/1000 这样就保留三位小数了,以此类推
qiuzhizhe 2003-08-25
到javascript帮助文件中找Math.round()函数的用法
glassprogrammer 2003-08-25
不好意思, 中文问题:

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<script language="JavaScript">
function Mul(n1,n2){
var m=0;
var s1=n1.toString();
var s2=n2.toString();
try{
m+=s1.split(".")[1].length;
}catch(e){}
try{
m+=s2.split(".")[1].length;
}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
}
function test(n1, n2){
var s = "<tr>";
s += appendTD(n1 + "*" + n2);
s += appendTD(Mul(n1 , n2));
s += appendTD(n1*n2);
s += "</tr>";
document.write(s);
}
function appendTD(s){
return "<td>"+s+"</td>"
}
</script>
<body>
<table border=1 width="50%">
<tr>
<td>表达式</td>
<td>精确乘法</td>
<td>js 乘法(*)</td>
</tr>
<script language="JavaScript">
test(2.11, 2.1);
test(200.01, 0.003);
test(200.01, 399.9999);
test(0.01, 0.09999);
test(0.6, 3);
</script>
</table>
</body>
</html>
glassprogrammer 2003-08-25
这是我抄别人的, 给你参考:

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<script language="JavaScript">
function Mul(n1,n2){
var m=0;
var s1=n1.toString();
var s2=n2.toString();
try{
m+=s1.split(".")[1].length;
}catch(e){}
try{
m+=s2.split(".")[1].length;
}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
}
function test(n1, n2){
var s = "<tr>";
s += appendTD(n1 + "*" + n2);
s += appendTD(Mul(n1 , n2));
s += appendTD(n1*n2);
s += "</tr>";
document.write(s);
}
function appendTD(s){
return "<td>"+s+"</td>"
}
</script>
<body>
<table border=1 width="50%">
<tr>
<td>±í´ïʽ</td>
<td>¾«È·³Ë·¨</td>
<td>js ³Ë·¨(*)</td>
</tr>
<script language="JavaScript">
test(2.11, 2.1);
test(200.01, 0.003);
test(200.01, 399.9999);
test(0.01, 0.09999);
test(0.6, 3);
</script>
</table>
</body>
</html>
wtoeb 2003-08-25
谢谢!兄弟们好。
加到100分,算是敬重各位。
wtoeb 2003-08-24
这个函数怎么写呢???
WYlslrt 2003-08-24
谁让javascript是弱类型语言呢。没法。它不是专门搞程序的,而是在网页特效上的,所以不会那么精确。忍着吧,除非你自己写函数,用javascript的那些数学函数加上字符操作函数自己改吧
wtoeb 2003-08-24
再就是:
10/3的结果是:3.3333333,怎么样格式化为:3.33?
分享按钮

上一篇:xp系统下用QQ影音压缩视频压缩视频

下一篇:请问javascript中60*0.12结果怎么是7.199999999999999?

豫ICP备19032584号-1  |   QQ:80571569  |  地址:河南濮阳市  |  电话:13030322310  |  
Copyright © 2024 FE内容付费系统 版权所有,授权www.xingwp.cn使用 Powered by 66FE.COM