私が探しているのは、できれば簡単な方法で、数値の最下位桁 (浮動小数点または整数) を見つけることです。
例えば:
101 --> 1
101.2 --> 0.2
1.1003 --> 0.0003
10、100、1000 などのケースは関連性がやや低くなりますが、いずれにしても興味があります。
形式は特に気にしないので、より実用的な方法で結果を特定する方が理にかなっている場合は、お気軽に。
例えば:
101.2 --> 0.1 または 10^-1 (または、関連する累乗/指数の場合は -1) で問題ありません。
追加のコンテキストについては、私がやろうとしていること:
数字 31.6 を 31.5 に変換できるようにしたいとしましょう (最下位桁を 1 減らします)。16 という数字を持っているとしましょう。それを 15 に変えたいと思います (同じ考えです)。数字が 100 の場合でも、それを 99 に変換したいのですが、おそらくそこでの処理を理解できます (100.0 を指定しなくても、1 が最下位桁であり、1 を減らすと 0 になりますが、これはそうではありません)。私が欲しいもの)。これは、データ範囲内のクラス ブレークを手動で操作することに関連しています (トピックからは外れますが)。
私の宿題を示す: これは有望に見えますが(leastSigDigit の部分)、数字の累乗への (数学的な) 参照なしで数字を返します (多くの文字列変換も避けたいと思っています)。
これは、 stackoverflow を検索したときに出てきたものですが、役に立たないようです (間違った用語/検索フレーズを使用している場合は、事前にお詫びします)。