###前提・実現したいこと
消費税を計算するプログラムを書いたのですが、計算結果に小数点以下の数値を含む場合の切り捨てで、
・double -> intへ型変換
・double foor (double x) と %.lf
が使えると思いました。
ですが、それぞれで異なる値を出力してしまいます。
理由がよくわからないので教えてもらいたいです。
###該当のソースコード
c
1 2#include <stdio.h> 3 #include <math.h> 4 int main() 5 { 6 int sum; 7 double D,P,Z; 8 9 scanf("%lf",&D); //税抜き価格 10 scanf("%lf",&P); //消費税率 11 12 Z = (D * (1 + (P*0.01) )); //税込価格 13 14 printf("%d\n",sum=(int)Z); //intへ型変換 15 16 double floor (double Z); //floorで小数点以下切り捨て 17 printf("%.lf\n",Z); 18 }
###試したこと
計算結果
入力
4916600 36
出力
6686575
6686576
###補足情報(言語/FW/ツール等のバージョンなど
mac osX sierraのターミナルでgccコマンドを使ってコンパイルしました.
回答2件
あなたの回答
tips
プレビュー