"""
format_decimal_with_zeros
-------------------------
Converts a floating‑point number into a fixed‑length string with
leading zeros on the integer part.
Parameters:
num - the decimal number to format
width - total width of the integer part (zero‑padded)
decimals - number of digits after the decimal point
Returns:
A formatted string such as "00003.14159"
Example:
num = 3.14159, width = 5, decimals = 5
Output → "00003.14159"
"""
def formatDecimalWithZeros(num: float, width: int, decimals: int) -> str:
# Split into integer and fractional parts
integer_part = int(num)
fractional_part = num - integer_part
# Format integer part with leading zeros
int_str = f"{integer_part:0{width}d}"
# Format fractional part (starts with "0.xxx")
frac_str = f"{fractional_part:.{decimals}f}"
# Remove the leading "0" before the decimal point
return int_str + frac_str[1:]
num = 3.14159
result = formatDecimalWithZeros(num, 5, 5)
print("Original number:", f"{num:.5f}")
print("Formatted string:", result)
"""
run:
Original number: 3.14159
Formatted string: 00003.14159
"""