【解決済】配列の文字列を数値に

アバター
ブラインド
記事: 11
登録日時: 2019年3月04日(月) 15:55

【解決済】配列の文字列を数値に

投稿記事by ブラインド » 2021年5月28日(金) 15:52

変数1がアイテムIDの名前、メタデータのatkとdefを含める配列だったとします。

コード: 全て選択

[$dataItems[1].name,$dataItems[1].meta['atk'],$dataItems[1].meta['def']]


この場合、ゴブリン,3,7と出力されるのですが、
<atk:3><def:7>と記入したメタデータは文字列扱いになってるようで

コード: 全て選択

$gameParty.gainGold($gameVariables.value(1)[1])

こうでもしようもんならエラーで落ちます。

このメタデータを扱う二つの要素を数値に変換することはできますか?
ゴブリンはそのままだとします。
最後に編集したユーザー ブラインド on 2021年5月29日(土) 16:11 [ 編集 1 回目 ]

奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: 配列の文字列を数値に

投稿記事by 奏ねこま » 2021年5月28日(金) 19:00

「javascript 文字列 数値 変換」とかで検索してみたら良いです。

答えを書くと

Number($dataItems[1].meta['atk'])

とか

+$dataItems[1].meta['atk']

とかで数値になります。

後者は短くて使いやすいですが「数値に変換している」というのが分かりづらいのと
前後のつながり次第で意図しない挙動になることもあるので注意が必要です。
アバター
ブラインド
記事: 11
登録日時: 2019年3月04日(月) 15:55

Re: 配列の文字列を数値に

投稿記事by ブラインド » 2021年5月29日(土) 16:11

奏ねこま さんが書きました:「javascript 文字列 数値 変換」とかで検索してみたら良いです。

答えを書くと

Number($dataItems[1].meta['atk'])

とか

+$dataItems[1].meta['atk']

とかで数値になります。

後者は短くて使いやすいですが「数値に変換している」というのが分かりづらいのと
前後のつながり次第で意図しない挙動になることもあるので注意が必要です。


解決しました。ありがとうございました。
すみません。調べはしましたが理解できなかったので。

“MV:質問” へ戻る