Javascript - 如何获取十进制数后的最后一位数字
Javascript - How to get the last digit after decimal number?
例如,
var myNum = 1.208452
我需要在小数点后获取 myNum 的最后一位数字,所以它是 (2)
你可以尝试这样的事情:
var temp = myNum.toString();
var lastNum = parseInt(temp[temp.length - 1]); // it's 2
编辑
您可能需要检查您的数字是否是实际的小数,您可以执行以下操作:
var temp = myNum.toString();
if(/'d+('.'d+)?/.test(temp)) {
var lastNum = parseInt(temp[temp.length - 1]);
// do the rest
}
这种方法:
var regexp = /'..*('d)$/;
var matches = "123.456".match(reg);
if (!matches) { alert ("no decimal point or following digits"); }
else alert(matches[1]);
工作原理:
'. : matches decimal point
.* : matches anything following decimal point
('d) : matches digit, and captures it
$ : matches end of string
正如评论中指出的那样,我最初误解了您的问题,并认为您想要小数点后的第一个数字,这就是此单行代码的作用:
result = Math.floor((myNum - Math.floor(myNum)) * 10);
如果你想要一个纯粹的数学解决方案,给你小数位后的最后一位数字,你可以转换数字,直到最后一个数字是小数点后的第一个数字,然后使用上面的代码,就像这样(但它不再是一个不错的单行):
temp = myNum;
while( Math.floor(temp) != temp ) temp *= 10;
temp /= 10;
result = Math.floor((temp- Math.floor(temp)) * 10);
工作原理:
上面的代码将 temp 乘以 10,直到小数点后没有任何东西,然后除以 10 得到一个小数位后只有一个数字的数字,然后用我的原始代码给你小数点后的第一个数字!唷!
只需执行以下操作:
function lastdigit(a)
{
return a % 10;
}
相关文章:
- 键入最后一位数字后自动提交
- 如何使用 num.toString 和 str.split 查找整数的最后一位数字
- 如何从对象数组中获取最后一项
- 将一个十进制数转换成八分之一的分数
- 当用户在选择框中选择选项时,使用window.location.href重定向用户只会更改导航器中URL的最后一位
- .to固定为3位,但最后一位应为零
- 使用handlers.js模板以数组中的最后一项为条件
- 从整数中删除最后一位数字
- 从数组中删除最后一项
- 将步骤数限制为第一个和最后一个数组元素
- 使用带有 .NET MVC 的 Javascript 将十进制数格式化为两位
- 在 JavaScript 中处理数组中的最后一项
- 我如何只得到数字的最后一位数字
- Javascript - 如何获取十进制数后的最后一位数字
- 替换方括号中出现的最后一位数字
- 如何删除字符串中间数字的最后一位数字
- 如何获取数字的最后一位
- 获取JavaScript中十进制值的最后一位
- Inputmask最后一位数字的动态掩码变化
- 十亿位数的最后一位