JS中如何获取一个number类型的长度,例如有几位数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中如何获取一个number类型的长度,例如有几位数相关的知识,希望对你有一定的参考价值。

var Q1= Number(document.getElementById("Ceshizhi1").value);
var Q2= Number(document.getElementById("Ceshizhi2").value);
var A=4*Q1*Q1+Q2;
//像这样的A最后也是Number类型,例如:A=12399,如何获得A的位数为5位?

获取整数的长度可以用以下几种方法实现:

1.调用toString方法转为字符串后取长度

var num = 123;
alert(num.toString().length);

2.隐式转字符串后取长度

var num = 123;
alert((num + \'\').length)

推荐第1种方法,简单高效

参考技术A

    String(A).length

    A.toString().length

    (A+"").length

    (A+"").match(/\\d/g).length

    等等。。。

本回答被提问者采纳
参考技术B 转换称字符串再算,String(A).length

在JS中如何将字符串类型的十六进制转换为数字?

【中文标题】在JS中如何将字符串类型的十六进制转换为数字?【英文标题】:How do you convert a hexadecimal of type string to number in JS? 【发布时间】:2018-12-03 04:51:19 【问题描述】:

假设我有一个十六进制,例如"0xdc",如何在JS中将这个十六进制的string转换为十六进制的Number

实际上只是丢失了引号。 Number() 构造函数和 parseInt() 只是将其转换为 0 到 255 之间的整数,我只想要 0xdc

编辑:

为了让我的观点更清楚: 我想从"0xdc"String 类型)转到0xdcNumber 类型)

【问题讨论】:

【参考方案1】:

可以使用Number函数,将字符串按照一定的格式解析为数字。

console.log(Number("0xdc"));

JavaScript 使用一些符号来识别数字格式,例如 -

    0x = 十六进制 0b = 二进制 0o = 八进制

【讨论】:

不,静止返回一个确切的数字,220。我想要文字字节,所以我想要"0xdc",而不是0xdc 你想用0xdcNumber类型做什么?好像您分配任何变量,例如var v = 0xdc,如果您尝试执行console.log(v),它将给出220 而不是0xdc 我想将它发送为我通过 UDP 发送的缓冲区中的动态值,例如:Buffer.from([0x00, 0x0E, dynamicStringValue, 0xef]) dynamicStringValue 应该是一个数字而不是一个字符串,我的缓冲区才能正常工作,对吗? 看到上面的答案,你是对的。我可以将您的代码产生的整数发送到我的缓冲区。谢谢。 这里的parseInt() 是多余的。 Number() 已经返回一个数字类型(它在内部只存储在 1 和 0 中,并且不知道原始字符串是二进制/八进制/十进制/十六进制)。 parseInt() 在这里所做的一切,就是将 Number("0xdc") 的结果转回(十进制/base-10)字符串,然后再次将其转换为相同的数字。【参考方案2】:

TL;DR

@dhaker 的回答

parseInt(Number("0xdc"), 10) 是正确的。

内存中的数字表示

0xdc220 这两个数字在 javascript 中的表示方式相同

所以 0xdc == 220 将返回 true。 前缀0x用于告诉javascript该数字是hex

所以无论您经过220,您都可以安全地通过0xdc,反之亦然

字符串格式

数字始终以 10 为基数显示,除非指定不这样做。

'0x' + Number(220).toString(16) 如果您想将其打印为字符串,则提供'0xdc'


简而言之

parseInt('0x' + Number(220).toString(16),16) => 220

【讨论】:

啊,我明白了,我理解错了。我可以只使用以 10 为底的表示。谢谢。【参考方案3】:

如果要将字符串转换为十六进制表示,可以转换为以 16 为基数的数字。

parseInt("0xdc", 16)  // gives you 0xdc

【讨论】:

以上是关于JS中如何获取一个number类型的长度,例如有几位数的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript数据类型有几种?

js中如何判断是不是为number类型

关于Js 如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种)

js中为啥NaN的返回类型为number

js一个数组中取三个数有几种组合

oracle中的number类型对应mysql里面啥类型啊