

a = 43.8664 → a = 43.8665  
b = 45.058333333 → b = 45.058333334

上記のように桁が異なっていても下一桁の位の数値のみを操作する方法はありませんか？  
小数点以下の桁数を文字列で取得して下一桁だけ+1する手法は考えつきましたが，  
ライブラリ等で可能に出来るものがありましたらご教授いただけませんでしょうか．


CC BY-SA 3.0
2018-04-03T10:57:27.173
42901
2018-07-14T02:27:01.200
27994
question
python
数値を下一桁の位だけ操作する方法


小数点数は数値として与えられるのではなく10進数表記の **文字列**
として与えられ、文字列で表現された精度で一つだけプラスし、文字列として返すと言うことで良いでしょうか？それであれば、[decimal](https://docs.python.jp/3/library/decimal.html)が使えると思います。下記のような感じにです。

[code]

    from decimal import Decimal, Context
    
    def last_up(num_s):
        num = Decimal(num_s)
        return str(num.next_plus(Context(len(num.as_tuple().digits))))
    
    print(last_up('43.8664')) # => 43.8665
    print(last_up('45.058333333')) # => 45.058333334
    print(last_up('42.320000')) # => 42.320001
    
[/code]


CC BY-SA 4.0
2018-07-14T02:27:01.200
45601
2018-07-14T02:27:01.200
7347
42901
answer