2

以前の質問に関連して、javascript math.round と math.floor は IE と Opera では正常に動作しますが、Chrome、Safari、Firefox では動作しません。NaN の取得

ここでフィドルを更新しましたhttp://jsfiddle.net/8VmPm/

このスクリプトの背後にある理由は少し曖昧に思えるかもしれないので、説明しようと思います。特定のネットワーク オペレータからの CDR (通話詳細レコード) は、音声レコードの場合は数秒で、データ レコードの場合はバイト単位で送信されます。秒を分に、バイトをメガバイトに変換する「電卓」を書いています。

また、さらに一歩進んで、超過分を確認するための計画例をいくつか追加しました。

私の問題(これは単に表面的なものですが、私はそのようなOCDです)は最初の計算にあります(Math.round(minusage / 60))(フィドルの22行目と23行目)。Usage Usedフィールドに入力された値が 1 秒を超えていても、次の分に切り上げる必要があります。

例:

  1. その分でどのプラン? ドロップダウン、プラン A (500 分)を選択
  2. [ Usage Used]フィールドに30001を入力します(これは 500 分 1 秒です)。
  3. 計算ボタンをクリック

[使用状況の概要]フィールドの結果は次のようになります。

500分使用。-1/500 分の残り時間

現在、使用時間フィールドに入力された値が 30030 以上になるまで、「使用時間 501 分」とは表示されません(プラン A の場合)。

1秒オーバーしても次の分に進む必要があります(そうしないと、それを使用する非技術者が混乱します)

この問題について何か助けていただければ幸いです。

4

1 に答える 1

4

をご覧くださいMath.ceil(...)。最も近い整数に切り上げるための JavaScript メソッドです。ここにMDN ページへのリンクがあります。

于 2013-04-14T15:23:47.073 に答える