NuBest's picture
Update README.md
01ad28b verified
---
license: apache-2.0
tags:
- height-conversion
- utility
- measurement
- unit-conversion
language:
- en
- vi
---
# Height Conversion Tool
A simple and efficient tool for converting height measurements between different units (feet/inches, centimeters, meters).
## Model Overview
This tool provides accurate height conversions between various measurement systems commonly used around the world. It supports bidirectional conversions and handles multiple input formats.
## Features
- **Multiple Unit Support**: Convert between feet/inches, centimeters, and meters
- **Flexible Input**: Accepts various input formats (e.g., "5'10\"", "178 cm", "1.78 m")
- **High Accuracy**: Maintains precision across conversions
- **Easy to Use**: Simple API with clear documentation
- **Bilingual**: Supports English and Vietnamese
## Supported Conversions
| From | To | Example |
|------|-----|---------|
| Feet & Inches | Centimeters | 5'10" → 177.8 cm |
| Centimeters | Feet & Inches | 180 cm → 5'11" |
| Meters | Feet & Inches | 1.75 m → 5'9" |
| Feet & Inches | Meters | 6'0" → 1.83 m |
| Centimeters | Meters | 170 cm → 1.7 m |
## Installation
```bash
pip install height-conversion-tool
```
Or clone this repository:
```bash
git clone https://huggingface.co/NuBest/height-conversion-tool
cd height-conversion-tool
pip install -r requirements.txt
```
## Quick Start
### Python Usage
```python
from height_converter import HeightConverter
# Initialize converter
converter = HeightConverter()
# Convert from feet/inches to centimeters
height_cm = converter.feet_to_cm(5, 10) # 5 feet 10 inches
print(f"Height: {height_cm} cm") # Output: Height: 177.8 cm
# Convert from centimeters to feet/inches
feet, inches = converter.cm_to_feet(180)
print(f"Height: {feet}'{inches}\"") # Output: Height: 5'11"
# String input format
result = converter.convert("5'10\"", to_unit="cm")
print(result) # Output: 177.8 cm
```
### Command Line Usage
```bash
# Convert height
python height_converter.py --input "5'10\"" --output cm
# Multiple conversions
python height_converter.py --input 180 --from cm --to feet
```
## API Reference
### HeightConverter Class
#### Methods
**`feet_to_cm(feet: int, inches: float = 0) -> float`**
- Converts feet and inches to centimeters
- Parameters:
- `feet`: Number of feet
- `inches`: Number of inches (optional, default: 0)
- Returns: Height in centimeters
**`cm_to_feet(cm: float) -> tuple[int, float]`**
- Converts centimeters to feet and inches
- Parameters:
- `cm`: Height in centimeters
- Returns: Tuple of (feet, inches)
**`meters_to_feet(meters: float) -> tuple[int, float]`**
- Converts meters to feet and inches
- Parameters:
- `meters`: Height in meters
- Returns: Tuple of (feet, inches)
**`convert(input_str: str, to_unit: str = "cm") -> str`**
- Flexible conversion from string input
- Parameters:
- `input_str`: Height string (e.g., "5'10\"", "180cm", "1.8m")
- `to_unit`: Target unit ("cm", "feet", "meters")
- Returns: Converted height as string
## Use Cases
- **Healthcare**: Converting patient height measurements between metric and imperial systems
- **Fitness Apps**: Standardizing height inputs across different regions
- **E-commerce**: Converting size charts for international customers
- **Travel Apps**: Helping users understand height requirements in different countries
- **Education**: Teaching measurement conversions
## Technical Details
### Conversion Formulas
- 1 inch = 2.54 cm
- 1 foot = 12 inches = 30.48 cm
- 1 meter = 100 cm = 3.28084 feet
### Accuracy
The tool maintains precision up to 2 decimal places for centimeters and meters, and up to 1 decimal place for inches.
## Examples
### Example 1: Basic Conversion
```python
from height_converter import HeightConverter
converter = HeightConverter()
# Convert 6 feet to centimeters
result = converter.feet_to_cm(6, 0)
print(f"6 feet = {result} cm") # Output: 6 feet = 182.88 cm
```
### Example 2: Batch Conversion
```python
heights_cm = [150, 160, 170, 180, 190]
for height in heights_cm:
feet, inches = converter.cm_to_feet(height)
print(f"{height} cm = {feet}'{inches:.1f}\"")
```
Output:
```
150 cm = 4'11.1"
160 cm = 5'3.0"
170 cm = 5'7.0"
180 cm = 5'10.9"
190 cm = 6'2.8"
```
### Example 3: Web Integration
```python
from flask import Flask, request, jsonify
from height_converter import HeightConverter
app = Flask(__name__)
converter = HeightConverter()
@app.route('/convert', methods=['POST'])
def convert_height():
data = request.json
input_height = data.get('height')
to_unit = data.get('to_unit', 'cm')
result = converter.convert(input_height, to_unit)
return jsonify({'result': result})
if __name__ == '__main__':
app.run(debug=True)
```
## Testing
Run the test suite:
```bash
python -m pytest tests/
```
Run specific tests:
```bash
python -m pytest tests/test_converter.py -v
```
## Contributing
We welcome contributions! Please follow these steps:
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
### Development Setup
```bash
# Clone repository
git clone https://huggingface.co/NuBest/height-conversion-tool
cd height-conversion-tool
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
pytest
```
## License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
## Citation
If you use this tool in your research or project, please cite:
```bibtex
@software{height_conversion_tool,
author = {NuBest},
title = {Height Conversion Tool},
year = {2025},
url = {https://huggingface.co/NuBest/height-conversion-tool}
}
```
## Support
- **Issues**: [GitHub Issues](https://huggingface.co/NuBest/height-conversion-tool/discussions)
- **Discussions**: [Community Forum](https://huggingface.co/NuBest/height-conversion-tool/discussions)
- **Email**: support@nubest.com
- **Website**: https://www.nubest.com/
## Changelog
### Version 1.0.0 (2025-01-29)
- Initial release
- Support for feet/inches, centimeters, and meters
- Command line interface
- Python API
- Comprehensive test suite
## Acknowledgments
- Built with Python 3.8+
- Inspired by the need for accurate height conversions in international applications
- Special thanks to the Hugging Face community
## FAQ
**Q: What's the maximum height that can be converted?**
A: The tool supports heights up to 999 cm (32'9") to cover all practical use cases.
**Q: How accurate are the conversions?**
A: Conversions maintain precision up to 2 decimal places, which is sufficient for all practical purposes.
**Q: Can I use this in a commercial application?**
A: Yes, the Apache 2.0 license allows commercial use with proper attribution.
**Q: Does it support other units like yards or kilometers?**
A: Currently, the tool focuses on the most commonly used units (feet/inches, cm, meters). Additional units may be added in future versions.
**Q: How do I handle invalid input?**
A: The tool includes input validation and raises clear error messages for invalid inputs.
---
Made with ❤️ by NuBest Team