简单的关于JS计算问题........请路过的指点指点.

szheto 2005-08-26 09:02:24
function txt_change()
{
var q=this.document.getElementById("Txt_Q1").value;
var p=this.document.getElementById("Txt_Pr1").value;
if(q!=''||p!='')

{
this.document.getElementById("Txt_T1").value=q*p;

}
}
很奇怪的问题,当Txt_Q1和Txt_Pr1为小数时,乘法得到的值是错误的.
例如: Txt_Q1.Text=1.1,Txt_Pr1.Text=1.1得到的Txt_T1.Text=1.2100000000000001,而整数却是正确的.为什么?
...全文
87 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
luysh 2005-08-26
  • 打赏
  • 举报
回复
最后的小数应该是javascript浮点数计算的问题
可以考虑加上toPrecision去限制结果的小数位数
baby21st 2005-08-26
  • 打赏
  • 举报
回复
<script>
var p = "1.2";
var q = "0.3";
var pp = parseFloat(p);
var qq = parseFloat(q);
alert(pp*qq);
</script>
szheto 2005-08-26
  • 打赏
  • 举报
回复
up
szheto 2005-08-26
  • 打赏
  • 举报
回复
用parseFloat转换成浮点也不行呀,答案一样是1.2100000000000001
baby21st 2005-08-26
  • 打赏
  • 举报
回复
先转换成浮点数再进行计算
JS中转换我记不清了,好像是 parseFloat() 到百度搜一下
clerkie 2005-08-26
  • 打赏
  • 举报
回复
将字符串转成小数后再进去数学运算。

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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