我正在处理一个简单的会话表单,我需要输入维度ex。 12x24x36英寸至304.8 x 609.6 x 914.4 mm。
我的问题是我不知道如何计算单独转换这些数字。
我设法删除 x 但所有数字合并。
谢谢,我希望你理解我。
这是我的示例代码
HTML
<h4>Dimensions</h4>
<label>inches <input id="number1"></label>
<label>mm <input id="number2"></label>
<button type="button" onclick="myFunction()">convert</button>
JS
function myFunction() {
var inches = document.getElementById("number1").value;
var removex = inches.replace(/x/g,"");
var input = parseInt(removex);
document.getElementById("number2").value = input
}
CODEPEN
答案 0 :(得分:3)
如果你有一个字符串:
var str = '304.8 x 609.6 x 914.4 mm'
您可以使用split()
和parseFloat()
来获取数字数组:
var str = '304.8 x 609.6 x 914.4 mm'
var numbers = str.split('x').map(parseFloat)
console.log(numbers)
&#13;
您只需要了解输入格式,以便根据其他变化进行调整。
parseFloat()
将忽略数字后的任何非数字字符,因此它适用于剥离单位。
答案 1 :(得分:1)
如果您收到&#34; 12x24x36&#34;作为输入(字符串)然后为完整的所需结果更新您的功能如下: -
function myFunction() {
var inches = document.getElementById("number1").value;
var inchesArr = inches.split("x");
var mmArr = inchesArr.map(function(i) {
return parseFloat(i) * 25.4;
});
var mmString = mmArr.join("x");
document.getElementById("number2").value = mmString;
}
&#13;
答案 2 :(得分:1)
<强>说明强>
您可以通过12x24x36
将输入示例str.split('x')
转换为数组,然后从英寸到毫米(x英寸* 25.4)进行数学转换,并将它们推回到一个毫米值的新数组中。然后,您可以使用x str.join('x')
重新加入这些值,并将它们放回到您的文档中。这就是它的样子。
<强> SCRIPT 强>
function myFunction() {
var inches = document.getElementById("number1").value.split('x');
var millimeters = [];
for (var i = 0; i < inches.length; i++) millimeters.push(parseInt(inches[i]*25.4));
document.getElementById("number2").value = millimeters.join('x');
}
<强> CODEPEN 强>