ここから本文です

excelの質問です A1セルの12345.67890という数字を round関数で小数点5桁で切り...

tos********さん

2017/11/2215:06:23

excelの質問です
A1セルの12345.67890という数字を
round関数で小数点5桁で切りすて
切り捨てた数字の桁数を数えようとlen(A1-int(A1))にかけると

lenの値が17になります?
どうなってるんですか・

閲覧数:
38
回答数:
3
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

all********さん

2017/11/2216:29:52

A1 小数点5桁で切り捨てしても 同じ値
また12345.67890
は11文字ですが 最後の0は関係ありません

=LEN(ROUND(A1,5))
=LEN(A1)
共に 文字数10
=A1-INT(A1)
0.678900000000795
で17文字 有効桁数は15桁なのに 15文字+0.2文字で17
これは演算誤差
小数点以下の計算ではこんなことが起きます
https://answers.microsoft.com/ja-jp/office/forum/office_2013_releas...
http://mt-soft.sakura.ne.jp/kyozai/excel_high/210_jissen_chu/60_err...

=LEN(ROUND(A1,5))-LEN(INT(A1))
で5

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

2017/11/2215:29:11

小数の十進数と二進数間の変換に伴う演算誤差です。

5桁で丸めるのを、桁数を数える直前にしましょう。
=len(round(A1-int(a1),5))
これで、0と小数点とあと4桁の合計6になります。

ikosyaさん

2017/11/2215:15:08

「浮動小数点」の問題です

=LEN(ROUND(A1-INT(A1),5))

「浮動小数点」の問題です

=LEN(ROUND(A1-INT(A1),5))

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる