Error: Float types are not supported. Use decimal types instead.

Answered by Rafal Wilinski
What's Causing This Error
This error occurs with the AWS Python SDK when trying to persist an item containing an attribute with a floating-point number. For example, you may encounter this error in Python if you try to save an item with a float (30.51) value.
Solution - Here's How To Resolve It
You can convert the floating-point attribute to a string using Python's str()
function.
dynamodb = boto3.resource('dynamodb') table = dynamodb.Table('my-custom-table') // using str will help avoid the floating point error. item = {'name': 'item_name', 'floating_attribute': str(our_value)} table.put_item(Item=item)
Other Common DynamoDB Errors (with Solutions)
- DynamoDB Contains not working
- cognitoidentitycredentials is not authorized to perform dynamodb describetable
- DynamoDB Is Not Null
- DynamoDB Query Limit Not Working
- aws.dynamodb.converter.unmarshall not working
- dynamodb map template foreach not working
- dynamodb local shell not working
- accessdeniedexception dynamodb
- KMS Key Access Denied Error DynamoDB
- cannot find module 'dynamodb-doc'
- DynamoDB Error Message KeyError item is not JSON serializable
- DynamoDB Update Not Working
- resourcenotfoundexception dynamodb nodejs
- dynamodb cannot create preexisting table
- DynamoDB TTL Not Working
Tired of AWS Console? Try Dynobase.
First 7 days are on us. No strings attached.
Product Features
DynamoDB Tools
DynamoDB Info
© 2025 Dynobase