C言語関係掲示板

過去ログ

No.3369. 数字の下位2桁を残す

[戻る] [ホームページ]
No.2450

数字の切り捨てについて。
投稿者---こづえ(2002/08/22 00:28:54)


例えば『158』と入力しても『58』と出力させるにはどうしたらよいでしょうか?

No.2451

Re:数字の切り捨てについて。
投稿者---TDa(2002/08/22 00:54:08)


>例えば『158』と入力しても『58』と出力させるにはどうしたらよいでしょうか?
数値か文字列で全然話が変わってきますが全角なんだから文字列なんでしょうね。
数値でも文字列に変換すればいいわけだし。

こんなコードでどうでしょう。
char str[] = "158";
printf("%s, %s\n", str, &(str[2]));

58が何文字目になるかは処理系依存になると思います。

数値で2桁にしたいときは100で割った剰余をとればいいですね。
int x = 158;
printf("%d, %d\n", x, x%100);

No.2452

Re:数字の切り捨てについて。
投稿者---こづえ(2002/08/22 01:04:57)


こんなに早くお返事もらえるとは思っていませんでした!
ありがとうございました。


No.2479

Re:数字の切り捨てについて。
投稿者---たか(2002/08/23 15:29:56)


double型やfloat型の時は、100で割って小数点以下を切り捨ててまた
100倍し、元の数から引けばいいですね。

double d = 1003.14159265;
d -= floor(d / 100) * 100;