关于JavaScript中的运算

marcovanbasten 2002-07-05 06:07:26
var a=12;
var b=0.2

作如下运算:
parseFloat(a)*parseFloat(b)
得出的是2.4000000000000003

如何才能只得到2.4?
...全文
25 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
llrock 2002-07-08
  • 打赏
  • 举报
回复
收藏
qiushuiwuhen 2002-07-08
  • 打赏
  • 举报
回复
to westfly(西翔):
如果是0.02*1.8呢?
<script>
function Mul(floatX, floatY){
return floatX * 10 * floatY / 10;
}
alert(Mul(0.02,1.8))
</script>

seabell 2002-07-08
  • 打赏
  • 举报
回复
楼主是marco的球迷啊?
xdspower 2002-07-08
  • 打赏
  • 举报
回复
我认为这不是什么大问题,如果用了浮点数,就一定有这样的问题,所以如果不是特别需要就没有什么了不起,而特别需要也一般就是显示,所以在输出时格式化显示样式就可以了。
westfly 2002-07-05
  • 打赏
  • 举报
回复
//先放大(调整精度位)再缩小即可。
function Mul(floatX, floatY)
{
return floatX * 10 * floatY / 10;
}
qiushuiwuhen 2002-07-05
  • 打赏
  • 举报
回复
<script>
function qswhMul(p1,p2){
/********(qiushuiwuhen 2002-07-05)************/
var e1=0,e2=0,s1=String(p1),s2=String(p2);
try{e1=s1.split(".")[1].length}catch(e){}
try{e2=s2.split(".")[1].length}catch(e){}
r=Number(s1.replace(".",""))*Number(s2.replace(".",""))
return r/Math.pow(10,e1+e2)
}
alert(qswhMul(12,0.2));
alert(qswhMul(1.8,0.2));
</script>


seabell 2002-07-05
  • 打赏
  • 举报
回复
<script>
var a=12;
var b=0.2
c=parseFloat(a)*parseFloat(b);
alert(Math.round(c*10)/10);
</script>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧