JavaScript 整数到前两位数字
JavaScript round number to first two digits?
我正在尝试将一个数字四舍五入到前两位数字。
14300 -> 15000
1430 -> 1500
143 -> 150
14 -> 14
我已经想通了很多:
var n = 14300;
n = parseFloat(Math.ceil(n).toPrecision(2));
console.log(n);
它返回 14000,但我想将其四舍五入。Math.ceil 仅适用于下一个整数。http://jsfiddle.net/cruTY/
注意:我知道我可以除以n
使其成为小数,但我希望此功能适用于所有数字,而无需手动插入/1000
或/1000000
。
你来了:
var n = 14300;
if (String(n).length > 2) {
var d = Math.pow(10, String(n).length-2);
n = Math.ceil(n/d)*d;
}
console.log(n);
如果String(n).length < 2
,您的要求是什么?
交互
var n = 143;
var l = String(n).length;
if (l > 2) {
var p = Number(String(n).slice(0, 3)) / 10;
n = Math.ceil(p) + '';
while (n.length < l) {
n += '0';
}
n = Number(n);
}
console.log(n);
我只能想到这个
var n = 14300;
var N = n + "";
console.log(N.length > 2 ? (parseInt(N.substr(0, 2)) + 1) * (Math.pow(10, N.length - 2)) : n);
输出
15000
这个
不需要特殊处理 n <10:
function roundUpToPrecision(n, d) {
var round = n.toPrecision(d);
if(round === n.toString()) {
return n;
}
return +(n + 0.5 * Math.pow(10, Math.floor(Math.log(n) * Math.LOG10E) - 1)).toPrecision(d);
}
我的答案比其他答案更普遍,因为您可以轻松更改周围的值。此函数将ceil
到您需要的数字的任何索引。如果是第三或秒,只需将dig
更改为相应的数字:
function ceil(num, ind){
let str = Math.floor(num)+"",
arr = new Array(str.length).fill("0");
arr[ind - 1] = "1";
let divider = arr.join("");
return Math.ceil(num/divider) * divider;
}
let number = 14300, //which number to be ceiled
dig = 2; //to which index we ceil
document.body.textContent = ceil( number, dig );
此解决方案适用于数字。
function roundValue(value) {
const valueAbs = Math.abs(value);
const exponent = Math.round(Math.log10(valueAbs)) - 1;
const power = Math.pow(10, exponent);
return Math.ceil(valueAbs / power) * power;
}
相关文章:
- 将数字四舍五入到小数点后两位
- 将数字四舍五入到小数点后两位,以设置货币格式
- 将数字四舍五入到两位小数
- 将数字格式化为货币,两位小数
- JS Regex的最后两位数字与前两位数字匹配
- 对两个数组进行排序在两位数字上失败
- 从谷歌 v3 API 响应中检索前两位数字
- JavaScript 整数到前两位数字
- 将字符串拆分为具有交替一位和两位数字的数组
- 两位数字后的空格,例如:03 9876 6544
- JavaScript初学者-需要检查邮政编码的前两位数字
- 文本框中带有JavaScript onkeypress事件的点后两位数字
- 根据文本字段的11位数字的前两位数字选择下拉值
- getMinutes() 0-9 - 如何显示两位数字
- 如何使用tickFormat只显示年份(以世纪和最后两位数字表示)
- 从电话号码中提取两位数字的正则表达式
- 如何在html中显示var值为十进制后的两位数字
- 如何防止键盘按下小数后两位数字
- 获取字符串的前两位数字,支持负数'数字'
- 用两位数字更新输入(type="Number")