69004


python（boto3）を用いて、csvデータをdynamodbへインポートする前に型変換を行っております。

int(float(を用い、3.88のような小数点2桁の数値を、型変換行っているのですが、  
どうしても、小数点2桁を切り捨てるような形になってしまいます。

インポート前（3.88）インポート後(3.00)

このような場合、どう対処して変換を行えばよいでしょうか？


CC BY-SA 4.0
2020-07-27T01:49:57.920
69002
2020-07-27T03:32:57.813
36855
question
python
pythonのint(float(で型変換しても小数点以下が.00になる


変換を行っているソースコードはどうなっていますか？

`int(float(csvの何かの値の文字列))`というのが本当なら`float()`で文字列を浮動小数点数に変換したとしても、その外側の`int()`の部分で整数に変換しているので、小数点以下部分を切り捨てるという正当な結果だと思われます。

浮動小数点数の値が必要なら、外側の`int()`は外して`float()`だけで変換しましょう。

あるいは、変換は必要なのでしょうか？ 使われているというboto3やdynamodb自身にそうした指定のオプションがあるか探した方が良いかもしれません。  
浮動小数点数への変換は表現誤差の問題が付きまとうので、なるべくなら変換しない方が良いかもしれません。


CC BY-SA 4.0
2020-07-27T03:11:54.833
69004
2020-07-27T03:32:57.813
2020-07-27T03:32:57.813
26370
26370
69002
answer