
No.1ベストアンサー
- 回答日時:
0.5と0.4の問題は10倍してから評価すればOKです。
また、四捨五入は0.5を加えてから整数に直してやればOKでしょう。
この回答への補足
回答ありがとうございます。次のようなプログラムを作ったのですがうまく動きません。aの値をうまく読み込んでもらえません。違うところがありましたら指摘ください。
#include <stdio.h>
int main (void){
double a,b,c;
puts("少数第一位まで値を入力してください");
printf("値a:"); scanf("%.1lf",&a);
b=10*a;
c=a+0.5;
int d=c;
if((int)b%10>=5){
printf("切り上げです\n");
printf("四捨五入した値は%dです。\n",d);
}
else {
printf("切り捨てです。\n");
printf("四捨五入した値は%dです。\n",d);
}
return (0);
}
No.3
- 回答日時:
aを整数化した値nと、a+.5を整数化した値mを比較すればいいのではにでしょうか?
・n=mなら切捨て
・n+1=m(n<>m)なら切り上げ
No.2
- 回答日時:
Cの double型は内部的には 2進数ですので(ほぼ全ての処理系でそうなっているはずです)、小数を扱うと誤差が生じるケースがあるはずです。
なので、キーボードから入力された小数を数値ではなく、まずは文字列として受け取り、小数点の右側と左側をそれぞれ整数型に変換して、それぞれ独立した計算処理をするのが、より厳密で、理想に近い処理と言えます。
ただ、そこまでの精度が必要無ければ、#1の回答のように 10.0倍して処理すれば良いと思います。
まず文字式でやるという方法もあるんですか。又チャレンジしてみます!とりあえず今回は10倍で行こうと思います。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
勤務の稼働時間の計算がわかり...
-
駐車場賃料の日割り計算について
-
Excel有効数字の丸め方「0捨1入」
-
端数処理における「小数以下」...
-
Access 1000以下を切り捨てる関数
-
MATLABで小数を整数にするには?
-
数字の double 型 を int型...
-
5%割引の際の、小数点以下の扱...
-
高速料金を請求する場合の消費...
-
「消費税は廃止すべきだって」?
-
なぜ消費税10%は×1.1なのですか...
-
時給制の業務委託時、請求書の...
-
法人税・消費税修正申告納付の仕訳
-
消費税の勘定科目は?
-
協同組合に支払う会費&賦課金...
-
海外からの請求書にその国の付...
-
国内で外貨取引をする場合の消...
-
輸出時の関税?消費税?
-
生産の「時間当たりの出来高」...
-
「消費税は別途」の解釈
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
5%割引の際の、小数点以下の扱...
-
駐車場賃料の日割り計算について
-
Access 1000以下を切り捨てる関数
-
端数処理における「小数以下」...
-
Excel有効数字の丸め方「0捨1入」
-
勤務の稼働時間の計算がわかり...
-
COBOLの計算方法
-
雇用保険料の計算式について(E...
-
今投稿して解決したのですが 更...
-
負の数の四捨五入の方法
-
50銭以下切り捨て51銭以上切...
-
「未満と以上」使う範囲。
-
右ビットシフト
-
数字の下二桁を削除したい
-
あなたの得意な言語、知ってい...
-
VBの小数点周り
-
次の計算式を使って、 利益率12...
-
Excelの関数について
-
excel関数で四捨五入以外の切り...
-
重量の丸め計算が全く分からず...
おすすめ情報