html5での少数点以下の数字の仕様

ホーム フォーラム Flash,HTML5 html5での少数点以下の数字の仕様

  • このトピックには3件の返信、3人の参加者があり、最後にtorotoroにより6年、 10ヶ月前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #13947
    torotoro
    参加者

    EXE形式だと問題ないのですが、html5で小数点以下の数字を扱おうとするとおかしくなります。
    サンプルではボタンを押すとカウンターが0.1増加するよう作ってあるのですが、全てのカウンターが正常に表示されません。
    どのようにすれば防げるでしょうか?

    Attachments:
    You must be logged in to view attached files.
    #13949
    Master.typeX
    参加者

    はじめまして。
    自分も今作ってるゲームで同じ問題で悩まされてます。

    一応、「表示だけ」なら何とかする方法ならあります。

    カウンターのプロパティの設定のところにある
    浮動小数点値の「有効数字の数」と「小数点以下の桁数」にチェックを入れて
    「小数点以下の桁数」の数字を変えれば(0.01と表示させる場合は2)
    ブラウザ上でもちゃんと表示されます。

    ただ、前述の通り表示だけなのかもしれないので
    そこだけは気を付けてください(汗)

    あと、スコアオブジェクトでも同様の現象が起こります。
    スコアの方には浮動小数点値の設定ができないのでご注意を・・・。

    #14017
    ASD
    キーマスター

    >>torotoroさん
    ヘルプにも記載されているのですが、Javascriptが採用している浮動小数点の計算の規格がCF2.5が作られているC++とは異なっているために誤差が発生します。

    少々面倒ですが、小数点を取り除いて整数として計算した後、小数点を戻すことで防ぐことができます。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2017/06/cf25_blog_2017-06-04_html5_floating_number.zip

    #14068
    torotoro
    参加者

    >>Master.typeX様
    実際に試してみたのですが、おっしゃる通り表示だけは改善されました。
    内部的には狂ったままなので条件等には使えないようです。
    見た目だけ簡単に直したいときはこの方法が使えそうです。
    回答ありがとうございました。

    >>ASD様
    無事解決しました。
    ですが手間が増えるので、なるべく少数は使わないほうが良さそうです。
    回答ありがとうございました。

4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。