% の質問 - PHPプロ!Q&A掲示板

4929

  • 0P

% の質問

質問日時 / 2018年3月17日 20:40    回答数 / 2件

Questioner:  kesuikeutosa  このエントリーをはてなブックマークに追加 

キーワード /    

  1. <?php
  2.  
  3. echo 1234.56 % 360.0;
  4.  
  5. ?>
このような式で、小数点以下まで呼び出したい場合はどうすればよいのでしょうか?

実際の答えは154.56のはずですが。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

Q% の質問kesuikeutosa
┣A01shimixそのままの % では無理ですね。使うとすればfmod関数
┗A02shimixあ・・・ https://detail.chiebukuro.yahoo.co.jp/

回答一覧

並び替え:

A01 満足
answerershimix [3月18日 21:47]

そのままの % では無理ですね。使うとすればfmod関数でしょうか。

http://php.net/manual/ja/language.operators.arithmetic.php

---------- 引用ここから
剰余演算子は、まず両方のオペランドを整数に直し (小数点以下を切り捨てます) てから処理を行います。 浮動小数点の剰余については fmod() を参照ください。 
---------- 引用ここまで

fmod
http://php.net/manual/ja/function.fmod.php

echo fmod(1234.56, 360.0)

ただし、floatでの計算ですからfmod(10.0, 0.4)なんてことをやるとちょっとヘンなことになります(当然ですね)。

(例)
$a = 10.0;
$b = 0.4;
echo fmod($a, $b);

小数以下の桁数が既知なら(例えば小数以下2桁と決まっていれば)整数で演算できるように100倍した値での剰余を100で割るのが吉です。

$a = 10.0;
$b = 0.4;
echo (($a * 100) % ($b * 100)) / 100;

この意見に回答する

ツリーへ TOPへ

A02
answerershimix [3月19日 08:12]

あ・・・

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10187698810

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)