
A 回答 (8件)
- 最新から表示
- 回答順に表示
No.8
- 回答日時:
#6です
#7の説明はちょつと間違っていたので訂正します
切り捨てについて補足説明をします。
小数点以下2桁目を切りすてる場合
切り捨てとは何かという事になります
10.51=10.5
-10.51=-10.5
である。
とします、実は INTの場合
言語仕様によっては、
-10.51=-10.5となるINTもあります
VB6は-10.51=-10.6と確認しました
負の場合、切り捨てと言うのは-10.51=-10.6とします。
つまり、0より下にする事が切り下げという考えです。
-10.51=-10.5
このようにするには、以下のように、正と負を分けて計算する必要があります
If Y < -1 Then
Y2 = Abs(Y)
Y3 = Int(Y2 * 10 ) / 10
else
Y3 = Int(Y * 10 ) / 10
End If
では、切り上げはというと
If Y < -1 Then
Y2 = Abs(Y)
Y3 = Int(Y2 * 10 + .09 ) / 10
else
Y3 = Int(Y * 10 + 0.9) / 10
End If
とします。
切り上げの場合注意しなければいけないのは
Y3 = Int(Y2 * 10 + .09 ) / 10
この計算式では、負の時おかしくなるという事です
-10.51+.09=-10.42-->-10.5
-10.59+.09=-10.5-->-10.6
となります。
つまり負の時は-.09を付けなければいけないという事です。
つまり、単独でする場合、負の場合
Y3 = Int(Y2 * 10 - .09 ) / 10
となります。
どちらを選択するかは、好みによります。
No.7
- 回答日時:
#6です
切り上げについて補足説明をします。
小数点以下2桁目を切り上げる場合
切り上げとは何かという事になります
10.51=10.6
-10.51=-10.6
である。
とします、実はVBのINTは伝統的に
負の場合、切り上げと言うのは-10.51=-10.5とします。
つまり、0に近づける事が切り上げという考えです。
Fortran言語はINTは
-10.51=-10.6
となります
このようにするには、以下のように、正と負を分けて計算する必要があります
If Y < -1 Then
Y2 = Abs(Y)
Y3 = Int(Y2 * 10 + 0.9) / 10
else
Y3 = Int(Y * 10 + 0.9) / 10
End If
No.6
- 回答日時:
実数 Y を小数点第n位以下で(第n位を有効にする)
と解釈していいでしょうか
1) int(Y*10^n+0.9)/10^n
2) int(Y*10^n)/10^n
となります
No.5
- 回答日時:
すみません、#3の者です。
#3のロジック、微妙に間違ってました。
以下に訂正します。
(1)Yに10のn-1乗を掛ける。
(2)その結果に対して、切り上げの場合0.9を加え、切り捨ての場合何もしない。
(3)その結果を整数で切り捨てる(Int, Fix関数)。
(4)その結果を10のn-1乗で割る(元の桁数に戻す)。
小数点にして切り捨てないと切り捨てられませんでしたね。
考え方は後に解答されている#4さんと同じ考え方です(というより#4さんを見て間違いに気がつきました)。
No.3
- 回答日時:
以下のロジックで対応できます。
(1)Yに10のn乗を掛ける。
(2)その結果に対して、切り上げの場合9を加え、切り捨ての場合何もしない。
(3)その結果を整数で切り捨てる(Int, Fix関数)。
(4)その結果を10のn乗で割る(元の桁数に戻す)。
#ちなみに、Round関数はあくまでも丸め(疑似四捨五入=厳密には四捨五入ではないが四捨五入に近い丸め)であり、切り上げ・切り捨てではありません。
上記の考え方で、(2)で5を加えれば厳密な四捨五入もできます(Round関数のような丸めではなく)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 父親・母親 自分の親が毒親なのか分かりません。 長文になります。 自分の両親が努力をして、お金をかけて私を育てて 5 2023/01/04 03:07
- 怪我 賞与計算における端数処理について 1 2022/06/27 14:34
- その他(プログラミング・Web制作) python 指定カラムの値の小数点を切り上げたい 3 2022/10/05 20:49
- Excel(エクセル) エクセルについての質問 一つのセルの中で、単位と小数点以下切り捨ての動作を両方やるにはどうすれば良い 5 2022/04/12 13:29
- 数学 5刻みの端数切り上げについて 6 2023/01/21 22:07
- その他(教育・科学・学問) 数学 1 2022/07/25 13:21
- 教育学 エクセルで小数点以下を四捨五入について教えてください。 2 2023/04/05 17:33
- PowerPoint(パワーポイント) ExcelのグラフをPowerPointに貼り付けした際にデータテーブルの小数点以下を削除したいです 2 2023/02/28 19:46
- 数学 数学 小数点繰り上げ 1 2022/06/17 21:38
- 数学 二次関数 解説で 問題の二次方程式の頂点は(x,y)と書いてあり 頂点ではない別の座標に(1,f(1 2 2023/02/07 19:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
5%割引の際の、小数点以下の扱...
-
どうしたらいいですか?
-
小数点切り上げって関数ですか?
-
VBの小数点周り
-
今投稿して解決したのですが 更...
-
printfの精度
-
エクセルの関数について。 残業...
-
Access 1000以下を切り捨てる関数
-
ツェラーの公式について
-
雇用保険料の計算式について(E...
-
時給制の業務委託時、請求書の...
-
法人税・消費税修正申告納付の仕訳
-
電卓で指数計算できますか?
-
何が矛盾しているのかわからない
-
なぜ消費税10%は×1.1なのですか...
-
「消費税は別途」の解釈
-
高速料金を請求する場合の消費...
-
食料品だけ消費税をゼロにして...
-
消費税の勘定科目は?
-
消費税の申告について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
5%割引の際の、小数点以下の扱...
-
駐車場賃料の日割り計算について
-
今投稿して解決したのですが 更...
-
Access 1000以下を切り捨てる関数
-
切り捨てて百の位までのがい数...
-
端数処理における「小数以下」...
-
勤務の稼働時間の計算がわかり...
-
Excel有効数字の丸め方「0捨1入」
-
雇用保険料の計算式について(E...
-
負の数の四捨五入の方法
-
COBOLの計算方法
-
50銭以下切り捨て51銭以上切...
-
数字の下二桁を削除したい
-
次の計算式を使って、 利益率12...
-
エクセルでの小数点以下切り捨...
-
重量の丸め計算が全く分からず...
-
ADOで算術型のRound関数を使いたい
-
excel関数で四捨五入以外の切り...
-
ACCESSの切り上げ
-
VBの小数点周り
おすすめ情報