VAL

文字列を数値に変換します。

構文
  1. Double = VAL( 文字列, [エラー値] )
引数
文字列
数値に変える文字列
エラー値
数値に変換できない場合に返す値
戻り値
数値

数値変換できない場合はエラー値を、デフォルトでは ERR_VALUE (-999999)を返す

プログラム実行例

指数表記の値を数値表記にする

\[1.25\rm{E}+6=1.25 \times 10^{6}\]
PRINT VAL("1.25E+6")
  1. VAL
結果
1250000

ハイアンドロー

DIM cards[-1]
DIM mark[3] = "♠", "♥", "♣", "♦"

FOR item IN mark
	FOR n = 1 TO 13
		arrayPush(cards, item + n)
	NEXT
NEXT

FisherYates(cards)

FOR n = 0 TO UBound(cards) - 1
	DIM res = SLCTBOX(SLCT_BTN OR SLCT_NUM, 0, "次のカードは「 " + cards[n] + " 」よりHIGH、LOW?", "HIGH", "LOW")
	PRINT cards[n] + "<#TAB>" + COPY(cards[n], 2)
	PRINT cards[n+1] + "<#TAB>" + COPY(cards[n+1], 2)
	DIM before = VAL(COPY(cards[n], 2))
	DIM after = VAL(COPY(cards[n+1], 2))
	IF res = 0 THEN operator = "<"
	IF res = 1 THEN operator = ">"
	res = IIF(before + operator + "=" + after, "正解", "不正解")
	PRINT res
	IF res = "不正解" THEN EXIT
	PRINT "----------"
NEXT

MSGBOX("全問正解!!!")
  1. arrayPush
  2. FisherYates
  3. UBound
  4. SLCTBOX
  5. COPY
  6. VAL
  7. IIF
結果
♦12	12
♠1	1
正解
----------
♠1	1
♥7	7
正解
----------
♥7	7
♥13	13
正解
----------
♥13	13
♦9	9
正解
----------
♦9	9
♥1	1
正解
----------
♥1	1
♥5	5
正解
----------
♥5	5
♥10	10
正解
----------
♥10	10
♣4	4
正解
----------
♣4	4
♠10	10
正解
----------
♠10	10
♥6	6
不正解

MSGBOXの種別の数値から表示されるボタンを取得

HASHTBL type

type[BTN_YES] = "はい"
type[BTN_NO] = "いいえ"
type[BTN_OK] = "OK"
type[BTN_CANCEL] = "キャンセル"
type[BTN_ABORT] = "中止"
type[BTN_RETRY] = "再試行"
type[BTN_IGNORE] = "無視"

DIM num = INPUT("数値を入力してください。")

IF VAL(num) = ERR_VALUE THEN EXIT

PRINT num
PRINT "----------"

FOR n = 0 TO 6
	IF (num AND POWER(2, n)) <> 0 THEN PRINT type[POWER(2, n)]
NEXT

MSGBOX("以下のボタンが表示されます", num)
  1. INPUT
  2. VAL
  3. POWER
  4. MSGBOX
結果
22
----------
キャンセル
はい
中止

Was this post helpful?