如何隔离数字中的最后一位数?
即。我有一个名为"No. Siri Pendaftaran : " + ($F{ref_no}.length() > 10) ? $F{ref_no} : $F{ref_no}.substring(0,20)+ "..."
的变量,它是27,我想要7。
(数字永远不会超过99。)
答案 0 :(得分:11)
如果您需要号码,请使用% 10
以数字方式隔离该地点:
var onesOnly = number % 10;
如果您需要字符串,可以将数字转换为字符串,然后使用.substr(-1)
获取最后一位数字:
var lastDigit = String(number).substr(-1);
注意:两种方法都不可靠,数量非常大(出于不同的原因)。如果您的号码永远不会超过99,那么这不是您将遇到的问题,但如果其他人使用相同的大数字技术,则值得注意:
数字方法可能与JavaScript的数字是IEEE-754双精度浮点(a" double")的事实相悖,即使它们是整数。 double可以容纳的最高可靠整数值是9007199254740991,之后我们用完了很多位,即使在整数级别也开始变得不精确:9007199254740993 % 10
是2,不是3,因为double不能精确地保持值9007199254740993。
文本方法与科学记数法相悖:使用科学记数法将非常大的数字转换为字符串。例如,5823548469823234783234852转换为"5.823548469823234e+24"
。因此,String(5823548469823234783234852).substr(-1)
为我们提供了4
而不是2
。
当然,当你遇到科学记数问题时,你已经处理过那么不精确(第一期)的数字,这是次要问题。