javascript - 将输入框的值与 JavaScript 中的先前结果相除
问题描述
有 3 个数字输入框。当我将数字分别放在第一个和第二个框中时,它会被计算并返回一个result
. 我想要的是将它除以result
第三个输入,value3
.
简化:
输入框 X、Y、Z
Q是X和Y的计算结果
我想要Q / Z(通过单击一个按钮)
到目前为止,这是我的代码:
const cal = () => {
const A = parseInt(value1.value.replace(/,/g, '')),
B = parseInt(value2.value.replace(/,/g, ''));
// console.log(parseInt(A), parseInt(B));
const res = A * 0.9 * parseFloat(100 / B);
result.innerText = `you have ${new Intl.NumberFormat('de-DE', { style: 'currency',
currency: 'EUR' }).format(res)} dollar.`;
};
解决方案
你的公式可以简化一点,没有必要将除法结果再次转换为浮点数,所以这是我的版本:
// "quick and dirty" method for defining a global variable for each input field ...
[...document.querySelectorAll("input")].forEach (e=>window[e.name]=e);
const calc=ev=>{
if (ev && ev.target.tagName!=="INPUT") return;
const A = parseInt(value1.value.replace(/,/g, '')),
B = parseInt(value2.value.replace(/,/g, ''));
q.value = A * 90. / B;
result.value = `you have ${new Intl.NumberFormat('de-DE', { style: 'currency',
currency: 'EUR' }).format(q.value / value3.value)} dollar.`
};
document.addEventListener("input",calc);
calc(); // initial calculation
<input type="text" name="value1" placeholder="value1" value="100"> intermediate result:<br>
<input type="text" name="value2" placeholder="value2" value="90">
<input type="text" name="q" readonly>
<br>
<input type="text" name="value3" placeholder="value3" value="1"><br>
final result = int(value1) * 90 / int(value2) / value3<br>
<input type="text" name="result" readonly>
推荐阅读
- java - 如何将 Apache Beam 直接运行器添加到类路径?
- c# - 无法读取客户端上的消息,但服务器上的 TCP/IP 连接与 c#
- javascript - Quill - after.appendChild 不是一个函数
- javascript - 我的网站在 3 次操作后无限期加载
- r - Error_Message:包含错误的系数/变量名称
- macos - 上下文菜单中的 MacOS 快速操作或服务自动机不是快速操作上下文子菜单
- flutter - 如何修复 Flutter 中 DeepAR 的 pod 安装错误
- pandas - Pandas Dataframe 转换 - 了解我应该使用的功能和我应该选择的逻辑的问题
- python-3.x - 在Python中获取给定坐标(纬度和经度)的大陆
- elasticsearch - 特征给出错误的弹性 EQL 后代