【解決済み】トリアコンタンさんのFloatVariables.js で小数第2位以降も保持するには?

返信する
rpgcode
記事: 47
登録日時: 2020年2月29日(土) 03:53

【解決済み】トリアコンタンさんのFloatVariables.js で小数第2位以降も保持するには?

投稿記事 by rpgcode »

セマンティックバージョニングのため変数でX.X.Xのようにバージョン番号を管理できればと考えています。

そこでトリアコンタンさんのFloatVariables.jsを導入しました。
小数対応した変数に数値で"0.10"と保存し、デベロッパーツールのconsole.logで確認すると"0.1"、typeofで確認するとnumber型で保存されています。

"0.11"と入力すると"0.11"がそのまま表示されるのですが、"0.10"を"0.1"ではなく、"0.10"とそのまま保持することは可能でしょうか?
最後に編集したユーザー rpgcode [ 2021年3月30日(火) 20:54 ], 累計 1 回
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: トリアコンタンさんのFloatVariables.js で小数第2位以降も保持するには?

投稿記事 by Plasma Dark »

表示の際に Number.prototype.toFixed を用いてみてはいかがでしょう。

コード: 全て選択

$gameVariables.value(x).toFixed(2)
https://developer.mozilla.org/ja/docs/W ... er/toFixed

セマンティックバージョニングを扱うなら、小数点数を用いるよりメジャー/マイナー/パッチバージョンそれぞれを別変数に入れるとか、可能ならnpmのsemverを使ってしまうのも手じゃないかと思います。

https://github.com/npm/node-semver#readme
単に表示したいだけの場合は too much 感があるので、変数を3つ使うだけで済ませるのが一番楽だとは思います。
rpgcode
記事: 47
登録日時: 2020年2月29日(土) 03:53

Re: トリアコンタンさんのFloatVariables.js で小数第2位以降も保持するには?

投稿記事 by rpgcode »

Plasma Darkさん

レスありがとうございます。
toFixedメソッドで望む表記になりました!
セマンティックバージョニングを扱うなら、小数点数を用いるよりメジャー/マイナー/パッチバージョンそれぞれを別変数に入れる
おっしゃるように、初めの実装方法としては上記実装が簡単かなと思ったのですが、アプリをバージョンアップした際、一括で自動更新処理などを行う場合、バージョン判定の範囲指定が面倒なのではないかと思い断念していました。
(例えば、最新バージョンが1.3.2で、過去バージョン1.0.19, 1.2.23, 1.2.8, 1.3.0などの複数バージョンの条件判定をするとき、過去バージョン1.3.0以前全てを範囲対象とする条件式)

アップデートしたいバージョンを範囲指定できるといいなと思って、バージョン番号を文字列型から数値型小数にすれば範囲指定しつつ、セマンティックバージョニング(風)に管理できないかなと思った次第です。

こういうものがあると理想です。

https://docs.microsoft.com/ja-jp/javasc ... ipt-latest

lessThan(compareWith)メソッド
このバージョンが入力パラメーターよりも小さい (つまり、古い) かどうかをテストします。
可能ならnpmのsemverを使ってしまうのも手じゃないかと思います。
RPGツクールMVでもnpmのパッケージシステムは使えるのでしょうか?
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: トリアコンタンさんのFloatVariables.js で小数第2位以降も保持するには?

投稿記事 by Plasma Dark »

おっしゃるように、初めの実装方法としては上記実装が簡単かなと思ったのですが、アプリをバージョンアップした際、一括で自動更新処理などを行う場合、バージョン判定の範囲指定が面倒なのではないかと思い断念していました。
表示だけでなく、バージョンの判定も行いたいとすると面倒ですね。
RPGツクールMVでもnpmのパッケージシステムは使えるのでしょうか?
使えます。配布物に node_modules を含める必要がありますが、MVのデプロイメントは幸か不幸か、プロジェクトフォルダ内のフォルダをまるごと成果物に含める挙動をしますので、プロジェクト内に npm install なり yarn add なりしておけば問題なく使えます。

こんな感じのプラグインが動くことを確認しました。
https://gist.github.com/elleonard/f54c7 ... f6358d96d6
rpgcode
記事: 47
登録日時: 2020年2月29日(土) 03:53

Re: トリアコンタンさんのFloatVariables.js で小数第2位以降も保持するには?

投稿記事 by rpgcode »

Plasma Darkさん

サンプルありがとうございます。
これを機にnpmでsemver使ってみたいと思います。

教えて下さりどうもありがとうございました!
返信する

“MV:質問”に戻る