ページ 11

【解決】トリアコンタン様「変数の少数演算プラグイン」にて少数化した変数を四捨五入する方法

Posted: 2024年10月01日(火) 22:39
by マナ茶
現在経営系のゲームを製作しているのですが、扱う金額が高額のため、
費用:125000000円
みたいに表示され、ぱっと見いくらなのか分かりにくいという問題が起きました。
これを改善するためトリアコンタン様のプラグインを導入し、
費用:1.25億
と改善したかと思われたのですが、
売買が行われると、たまに1.25999999999999億円みたいに表示されてしまいます。
これが浮動小数というものが原因であることまでは調べたのですが、
スクリプトの知識がまったくない私には、どうしたらこれを四捨五入できるのか分からないのです。
少数第3位を四捨五入するには、どのようにしたらよろしいのでしょうか。
どうかご教授の方よろしくおねがいいたします。

Re: トリアコンタン様「変数の少数演算プラグイン」にて少数化した変数を四捨五入する方法

Posted: 2024年10月02日(水) 12:30
by ムノクラ
マナ茶 さんが書きました:現在経営系のゲームを製作しているのですが、扱う金額が高額のため、
費用:125000000円
みたいに表示され、ぱっと見いくらなのか分かりにくいという問題が起きました。
これを改善するためトリアコンタン様のプラグインを導入し、
費用:1.25億
と改善したかと思われたのですが、
売買が行われると、たまに1.25999999999999億円みたいに表示されてしまいます。
これが浮動小数というものが原因であることまでは調べたのですが、
スクリプトの知識がまったくない私には、どうしたらこれを四捨五入できるのか分からないのです。
少数第3位を四捨五入するには、どのようにしたらよろしいのでしょうか。
どうかご教授の方よろしくおねがいいたします。
プラグインはどこでダウンロードできるのか、バージョンはいくつかを書いてください。

https://raw.githubusercontent.com/triac ... riables.js
Version 1.1.2
で合っていますか?

【JavaScript】数値の四捨五入や切り下げ、切り上げ
https://qiita.com/s_ryota/items/fce0feeb83c0df110a43
四捨五入には、Math.round()を使用する。Math.round()は、数値を四捨五入してもっとも近似の整数を返す。
100倍してroundしたものを100で割れば良いと思います。

具体的には下記のスクリプトで可能なようです。
(イベントコマンドでやったら、なぜか上手く行かず…もしかしたら、できるかも知れませんが。)

コード: 全て選択

const hensuId = 1; //1は変数のIDです。使用するものに変えてください
const hensu = $gameVariables.value(hensuId);
const shishagonyuHensu = Math.round(hensu * 100) / 100;
$gameVariables.setValue(hensuId,shishagonyuHensu);

Re: トリアコンタン様「変数の少数演算プラグイン」にて少数化した変数を四捨五入する方法

Posted: 2024年10月02日(水) 14:43
by マナ茶
ムノクラ様へ。
説明が足りず申し訳ありません。プラグインはムノクラ様が記載されたもので間違いないです。
そして教えていただいたスクリプトを試したところ、上手く動作いたしました。
スクリプトの勉強にもなり本当に感謝します。
お忙しいところ助けていただきありがとうございました。

Re: トリアコンタン様「変数の少数演算プラグイン」にて少数化した変数を四捨五入する方法

Posted: 2024年10月02日(水) 20:20
by ムノクラ
マナ茶 さんが書きました:ムノクラ様へ。
説明が足りず申し訳ありません。プラグインはムノクラ様が記載されたもので間違いないです。
そして教えていただいたスクリプトを試したところ、上手く動作いたしました。
スクリプトの勉強にもなり本当に感謝します。
お忙しいところ助けていただきありがとうございました。
解決できたら、トピックの件名に【解決】などをつけるようにしましょう。
他の回答者が質問を見つけるのに役立ちます。

Re: 【解決】トリアコンタン様「変数の少数演算プラグイン」にて少数化した変数を四捨五入する方法

Posted: 2024年10月02日(水) 21:16
by マナ茶
なるほど、そこまで気が回らずすみません。
早速修正しました。