javascript - 如何用Javascript计算小数点后的数字?
问题描述
我必须在以下代码中进行哪些更改,以便小数点后的位数显示在数字下方?
var operator = ['/'];
function F1() {
answer = document.getElementById("answer");
digits = document.getElementById("digits after decimal point");
rZ1 = Math.floor((Math.random() * 10));
rZ2 = Math.floor((Math.random() * 10) + 1);
op = operator[Math.floor(Math.random() * 1)];
var a = parseFloat(eval(rZ1 + op + rZ2).toFixed(3));
var d = 3
if (a.toFixed(2) == a) {
a = parseFloat(a.toFixed(2));
var d = 2;
if (a.toFixed(1) == a) {
a = parseFloat(a.toFixed(1));
var d = 1;
}
}
answer.innerHTML = a;
digits.innerHTML = d;
}
<button onclick="F1()"> New </button>
<p> <label id="answer"> </label> </p>
<label id="digits after decimal point"> </label>
解决方案
您可以找到小数点所在的位置indexOf
var operator = ['/'];
function F1() {
answer = document.getElementById("answer");
digits = document.getElementById("digits after decimal point");
rZ1 = Math.floor((Math.random() * 10));
rZ2 = Math.floor((Math.random() * 10) + 1);
op = operator[Math.floor(Math.random() * 1)];
var a = parseFloat(eval(rZ1 + op + rZ2).toFixed(3));
var d = Math.max(0, (a+"").length - (a+".").indexOf(".") - 1);
answer.textContent = a;
digits.textContent = d;
}
<button onclick="F1()"> New </button>
<p> <label id="answer"> </label> </p>
<label id="digits after decimal point"> </label>
推荐阅读
- jquery - 找到时jQuery更新数组中的对象?
- c++ - 比 main 更长寿的单身人士
- arrays - 为什么我的数组不能在这个 C 程序上运行?
- php - Symfony 使用 post 请求更新数据
- java - 盈透证券 TWS API 错误:现金数量不能用于此订单
- mysql - 获取字段中包含字符串最多单词的行
- html - 如何强制用户选择一个带有 HTML 的复选框?
- typescript - 需要关于 typescript 和 createAsyncThunk 的建议
- reactjs - 在 Typescript 中,如何使用 then promise 正确声明 dispatch 泛型类型
- javascript - 从Vue的下拉列表中选择选项后如何显示图标/图像