这怎么能算是一个数字呢?
<cfquery name="test">
SELECT ISNUMERIC("8D4") AS isnum
</cfquery>
这返回 1。
我还需要执行其他检查吗?
这怎么能算是一个数字呢?
<cfquery name="test">
SELECT ISNUMERIC("8D4") AS isnum
</cfquery>
这返回 1。
我还需要执行其他检查吗?
D并且E被认为是 的特殊情况isNumeric()。E很容易证明反映科学记数法:
SELECT ISNUMERIC('8E4'), 8E4
结果是:
1 80000
情况D不同。网络上的许多资源将其描述为表示十进制数的一种形式,或者只是一种科学记数法。
如果将上面的 SQL 更改为使用,则会出现奇怪的行为D:
SELECT 8E4, 8D4
在 SQL Studio 中,这会导致:
(No column Name) D4
80000 8
我不是 SQL 专家(任何类型:我只是 CFML 开发人员),但这表明D之前对小数或 S/N 的描述并不是完整的故事。
但无论故事是什么,有据可查的形式nDn(数字在哪里)n是.TRUEISNUMERIC()
您的参数包含D十六进制。
8D4(十六进制)是2260(十进制)
所以它是一个有效的数字,这就是为什么会返回 1。