3

これはどのように数と見なすことができますか?

<cfquery name="test">
   SELECT ISNUMERIC("8D4") AS isnum
</cfquery>

これは 1 を返します。

他に実行する必要があるチェックはありますか?

4

2 に答える 2

2

DEの特殊なケースと見なされますisNumeric()E科学表記法を反映することは簡単に実証されます。

SELECT ISNUMERIC('8E4'), 8E4

結果:

1    80000

との場合Dは異なります。Web 上の多くのリソースでは、これを 10 進数を表す形式、または単なる科学的表記法として説明しています。

Dただし、上記の SQL を代わりに使用するように変更すると、奇妙な動作が発生します。

SELECT  8E4, 8D4

SQL Studio では、これにより次の結果が得られます。

(No column Name)    D4
80000              8

私は SQL の専門家ではありません (あらゆる分野の: 私は単なる CFML 開発者です) D

しかし、話がどうであれ、形式nDn(n数字がある場所) がTRUEtoであることは十分に文書化されていISNUMERIC()ます。

于 2013-10-04T03:50:31.170 に答える
0

パラメータにDは、16 進数が含まれています。 8D4(16 進数) は2260(10 進数)

これは有効な数値なので、1 が返されます。

于 2013-10-03T22:36:09.867 に答える