- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jqmeterで100%になってしまう)
jqmeterで100%になってしまう
このQ&Aのポイント
- JQueryのプラグインjqmeterを使用してプログレスバーを表現していますが、goal > raisedの場合でも100%と表示されてしまいます。
- メーターの結果を%表示にするためにdisplayTotalオプションをtrueに設定しましたが、raisedがgoalよりも小さい場合でも100%となってしまいます。
- Math.ceil関数によって切り上げられた値が%表示に影響していることが分かりましたが、Math.floorに変更するとraisedがgoalと等しい場合でも99%となります。また、this.Counterの値も正しくないように思われます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
this.Counterがきっちりした値にならないのは浮動小数点誤差が含まれるためだと考えられます。 対策として、小数点の指定桁数で四捨五入を行ってから天井関数をかける方法があります。 具体的には、jqmeter.min.jsの Math.ceil(this.Counter) を Math.floor(Math.round(this.Counter * 10) / 10) に書き換えるといかがでしょうか。 小数点第2位の数字で四捨五入を行った後に天井関数をかけています。 goalの数値が変化した場合は四捨五入を行う小数桁を変更する場合がありますが、質問者様のケースではこれでうまく動作すると思います。
お礼
ご回答ありがとうございます。 教えて頂いたとおり、当該箇所を修正してみたところ 想定した結果が返ってくるようになりました。 ありがとうございます!