昨年当たりから話題になった充電時間のレシピにも関わる話です.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のiOSバージョン : iOS16.3.1
スポンサーリンク
バッテリーの精度について
かなり前に紹介しましたが、そもそもスマートフォンのバッテリー残量を測る精度は1%でなく、もっと粗いのが現実です.
表示されているあの数字は残量そのものを測っているのではなく、電圧や抵抗の値を測ってそこから計算した推定値に過ぎません.
それもあるかどうかは不明ですが、「バッテリーの状態を取得」で得たバッテリー残量の値が整数でなく小数になることがあります(どの程度の頻度かはわかりません).
そのためバッテリー残量のアクションの出力をそのまま使うとまれに上のようなことが起こりえます.
(省略していますが)巷で配布されている充電時間のレシピの骨子は上の画像の通りですが、このままだとバッテリー残量と残り時間双方に支障が出ます.
巷のレシピでは後者については「端数を処理」アクションで整数に均しているのですが、バッテリー残量でのその可能性を当初の作者をはじめ似たレシピを作成した他の多く方も気づいていないようです.
というわけで、残り時間の計算式はともかく表示を想定する場合はバッテリー残量についても「端数を処理」で整数に均すとよいです.
〆
こういったことは経験でしか知り得ないことでもあります.
そもそもApple側の、つまりバグとも言えないことはないですけどね.
加えて充電時間のレシピはちゃんと意味を理解していないと「おおよそ」どころかかなりズレた時間となってしまうので注意です.
シンプルな一次関数を用いているため、充電時のバッテリー残量が少ないほど残り時間の精度が悪くなり、最悪1時間程度違いが生じます.