从整数中删除最后一位数字
Remove last digits from an int
似乎找不到这个问题的好答案。如何从int中删除最后11位数字?
id的开头可以是一个或多个数字,但id后面总是有11位数字。开头总是有一个id。CCD_ 1。
var getId = function (digits) {
// Do some stuff and return id
}
getId(110000000001); // Should return 1
getId(1110000000001); // Should return 11
getId(2010000000001); // Should return 20
除以1e11
并发言:
var stripped = Math.floor(id / 1e11);
这样可以避免转换为字符串表示形式。
请注意,JavaScript数字的本质是,在您开始遇到精度问题之前,您的"原始"值(和这11个无用数字的值)除了这11个数字之外,不能超过5个数字。我想,如果你从不关心低位11位数字,那可能不是问题。
试试这个:
var str = 1100000000011;
var res = str.toString().substr(0, str.toString().length - 11);
演示
您可以将数字转换为字符串并删除尾随数字:
digits.toString().replace(/'d{11}$/, '')
顺便说一句,您最好不要使用int(或者准确地说,数字),因为如果数字大于2147483648(按绝对值),它将在内部表示为double
,从而导致精度损失。如果不需要尾数,那么也可以——使用其他答案中建议的除法方法(由于科学记数法,这个可能会中断)。但是,如果你想保留所有的数据,你应该用字符串来表示你的数字。
您可以使用除法和10^11来执行此操作。编辑:我糟糕的
var getId = function (digits) {
var id = parseInt((digits/(1e11)),0);
}
您可以将数字转换为字符串,并从结束中截取最后11个字符
parseInt( digits.toString().slice(0, -11) );
使用.slice( 0 , [ negative_number ]);
将从字符串的末尾切片x
字符
关于.slice()
的更多信息此处
相关文章:
- 键入最后一位数字后自动提交
- 如何使用 num.toString 和 str.split 查找整数的最后一位数字
- 当用户在选择框中选择选项时,使用window.location.href重定向用户只会更改导航器中URL的最后一位
- .to固定为3位,但最后一位应为零
- JS Regex的最后两位数字与前两位数字匹配
- 从整数中删除最后一位数字
- 在 JavaScript 中屏蔽最后 4 位数字
- 我如何只得到数字的最后一位数字
- 我需要屏蔽传入号码并仅显示最后 4 位数字
- Javascript - 如何获取十进制数后的最后一位数字
- 在magento管理面板中隐藏信用卡号的最后4位数字
- 替换方括号中出现的最后一位数字
- 如何删除字符串中间数字的最后一位数字
- 如何使用tickFormat只显示年份(以世纪和最后两位数字表示)
- 如何获取数字的最后一位
- 检查电话号码是否相同以及最后7位数字是否相同的正则表达式
- 将字符串(如86.678,1.12517,0.61457)转换为数字并递增/递减最后3位数字
- 获取JavaScript中十进制值的最后一位
- Inputmask最后一位数字的动态掩码变化
- 如何在angular material和angular js中只显示输入字段的最后四位数字