* Stingy: This implies he's unwilling to spend money, even when necessary.
* Frugal: This implies he's careful with money, but not necessarily stingy.
* Inexpensive: This refers to the cost of something, not a personality trait.
To find the best replacement, we need to know what "cheap" refers to:
* His spending habits: Was he unwilling to pay for things, or did he just get good deals?
* His personality: Was he unkind or uncaring due to his frugality, or was he just careful?
Here are some positive alternatives depending on the context:
* Thrifty: Implies he's good at saving money.
* Economical: Implies he's efficient with his resources.
* Value-conscious: Implies he prioritizes getting the most value for his money.
* Resourceful: Implies he's good at finding solutions using available resources.
* Practical: Implies he focuses on what's useful and necessary.
Please provide more context about what "cheap" describes, and I can give you a more precise replacement.