isNumeric('100e00')
がyes
を返し、lsisnumeric('100e00')
がno
を返します。isNumeric( '100e00')はyesを返します。lsisnumeric( '100e00')が返さない場合
別の16進数(a、b、c、d)を確認しましたが、noを返します。
誰もがなぜ100e00
を数値とみなしているのか分かりませんか?
isNumeric('100e00')
がyes
を返し、lsisnumeric('100e00')
がno
を返します。isNumeric( '100e00')はyesを返します。lsisnumeric( '100e00')が返さない場合
別の16進数(a、b、c、d)を確認しましたが、noを返します。
誰もがなぜ100e00
を数値とみなしているのか分かりませんか?
100e00
、すなわち、科学的表記法である:* 10 100^0、または:100
<cfset string = "100e00">
<cfset numeric = val(string)>
<cfoutput>
values:<br />
string: #string#<br />
numeric: #numeric#<br />
<hr />
isNumeric()<br />
string: #isNumeric(string)#<br />
numeric: #isNumeric(numeric)#<br />
<hr />
lsIsNumeric()<br />
string: #lsIsNumeric(string)#<br />
numeric: #lsIsNumeric(numeric)#<br />
</cfoutput>
この出力:
values:
string: 100e00
numeric: 100
isNumeric()
string: YES
numeric: YES
lsIsNumeric()
string: NO
numeric: YES
isNumeric()
とlsIsNumeric()
の機能は、ロケールを超えてわずかに異なります後者の意識。
ISNUMERIC()の状態この: (私の強調)
lsIsNumeric()は述べて "文字列が数値に変換できるかどうかを決定します":「 を文字列であるかどうかを決定します数字の有効な表現 "
微妙な違いはありますか?前者は数値を強制的に数値にしようとしますが、後者は数値だけであるかどうかを伝えます。
おそらく科学記法のことです。それを整数にキャストするか、数値フォーマットを実行して何が得られるかを見てください。 –