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 condition does not exist
- dynamodb: one or more parameter values were invalid: type mismatch for index key
- dynamodb-admin command not found
- DynamoDB ValidationException: Query condition missed key schema element
- dynamodb map template foreach not working
- dynamodb net scan condition or not working
- dynamodb getItem() is not a function
- cognitoidentitycredentials is not authorized to perform dynamodb describetable
- Unable to start DynamoDB Local process
- aws lambda dynamodb nodejs not working after few puts
- missing required key 'key' in params dynamodb
- appsync dynamodb not seeing all fields
- dynamodb cannot create preexisting table
- AWS CLI DynamoDB Error Parsing Parameter
- DynamoDB Not Supported Requires @DynamoDBTyped Or @DynamoDBTypeConverted
Tired of switching accounts and regions? Use Dynobase.
First 7 days are on us. No strings attached.
Product Features
DynamoDB Tools
DynamoDB Info
© 2025 Dynobase