此计算中小数点的正确Javascript代码

此计算中小数点的正确Javascript代码,javascript,decimal,Javascript,Decimal,如何编写javascript代码,使答案显示在“以英寸为单位的总结果:”框中,小数点后显示3位数字 感谢您的帮助 请在此处查看完整设置: 函数计算(){ var l=parseInt(document.getElementById(“length”).value); var w=parseInt(document.getElementById(“宽度”).value); var h=parseInt(document.getElementById(“height”).value); var v

如何编写javascript代码,使答案显示在“以英寸为单位的总结果:”框中,小数点后显示3位数字

感谢您的帮助

请在此处查看完整设置:

函数计算(){
var l=parseInt(document.getElementById(“length”).value);
var w=parseInt(document.getElementById(“宽度”).value);
var h=parseInt(document.getElementById(“height”).value);
var v=(长*宽*高/1728);
document.getElementById('result')。value=v;
}
#计算容器{
宽度:270px!重要;
填充:5px!重要;
背景:#DEEBF7!重要;
保证金:0px 0px 10px 80px!重要;
边界半径:5px!重要;
-moz边界半径:5px!重要;
-webkit边界半径:5px!重要;
盒子阴影:0px 0px 4px rgba(0,0,0,0.5)!重要;
-webkit盒阴影!重要提示:0.4pxRGBA(0,0,0,0.7)!重要提示;
-moz盒阴影:0px4pxRGBA(0,0,0,0.7)!重要;
}

x
x

总结果(单位:立方英尺):
Fiddle中函数的最后一行仍然是旧的错误行。它在Fiddle中仍然不起作用(至少对我来说),直到我在Fiddle中最左边的列上从“onload”切换到“No wrap-in”,就在下拉列表“No Library(Pure JS)”的下方。我不知道它是否是正确的(我甚至不知道它做什么,不查一下),但它对我有用

如果我把它全部从Fiddle(带有正确的行)放到一个HTML文件中,它在Firefox 41.0.2和Chrome 46.0.2490.80(64位)中也可以工作


但它会持续很长一段时间,直到你得到一个结果,你需要点击Chrome或Firefox窗口的外部来显示结果。这意味着这里有其他错误,这是
onchange
事件。当元素失去焦点时它就会触发(你不需要在窗口外点击,只需要在窗口内的其他地方点击),我想这不是你想要的。还有另一个名为
oninput
的事件触发器,虽然每次用户键入内容时它都会调用
calc()

您的表单应该更容易访问,表单控件的标签和字段集可以对其进行分组。您应该验证输入值(在下面的示例中未完成),处理错误并在写入屏幕之前检查结果

还应该有一个“calculate”按钮来更新表单,onchange本身是不够的。但我会让你补充一下

e、 g

函数计算(){
var form=document.getElementById('volume');
//在这里进行表单验证
变量长度=+form.length.value | | 0;
变量宽度=+form.width.value | | 0;
变量高度=+form.height.value | | 0;
变量体积=长度*宽度*高度/1728;
控制台日志(卷);
form.total.value=isNaN(体积)?“”:体积固定(3);
}

尺寸和体积
长度(英寸):
宽度(英寸):
高度(英寸):
总体积(立方英尺):

您不需要放置
!重要信息
在属性名称之后(
-webkit box shadow!重要信息
语法不正确)。通常…
!重要提示
是非常糟糕的做法,尤其是在每个属性之后。谢谢。不幸的是,这是一个错误!重要的存在,并可能最终被删除,而其他css属性被压缩;我只是想把所有的东西都摆出来,看看我在做什么。但是我们可以集中讨论小数位的javascript吗?这是我需要帮助的主要事情。非常感谢您的页面存在严重的可访问性问题,特别是使用占位符而不是标签,这非常糟糕。一旦开始输入,用户就不再知道该字段的用途。虽然我猜单位是英寸(世界上只有一个国家没有使用公制),但对于所使用的单位没有任何提示。使用像oninput这样的事件可能会产生可用性问题,因为它们更新太频繁(例如,在这种情况下,可能会导致乘以零或NaN)。更改可能是最合适的事件,但是也应该有一个“计算”或类似的按钮供用户逻辑地转移焦点。是的,OP需要实施一些检查和平衡,但这需要在不考虑输入的情况下完成。如果OP添加了一个按钮,那么结果字段的自动更新就没有意义了。在这种情况下,我会检查返回键,因为这比按下按钮(用户已经在使用键盘)更自然。非常感谢大家的回复。由于代码是现在…它实际上是在现场工作。不知道为什么它不在JSFIDLE上。当我检查它时,它会;但我承认我还不知道如何正确地使用JSFIDLE。如果在这里运行代码,可以输入数据,结果将是一个小数点后有许多数字的数字。有没有办法让它只显示小数点后3位?对于不正确的代码,请正确显示它好吗?再次感谢…您可以选中
toFixed
以限制小数位数,但这将是另一个问题…等等,什么?你把问题改了,让我的答案看起来完全离题了?还有罗布的评论?我不想暗示不好的意图,但是…不…请不要那样做,最好打开另一个问题。如果你愿意,请。谢谢,罗布,非常感谢。这是完美的伟大和方式更好的编码比我有!非常感谢你在这方面的帮助!